JavaScript:document.write()和innerHTML的區別


 

document.write和innerHTML

主要區別:document.write是直接將內容寫入頁面的內容流,會導致頁面全部重繪,innerHTML將內容寫入某個DOM節點,不會導致頁面全部重繪

 

下面舉兩個例子說明,第一個例子使用write()方法,第二個例子使用innerHTML

 

例子一:頁面有初始內容,點擊頁面中的按鈕向頁面中通過document.write()方法寫入內容,會發現原先的初始內容消失了,整個頁面只剩下了通過write()方法寫入的內容。原因是整個頁面進行了重繪

 

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body> 初始內容


<button onclick="fun()" >按鈕</button>


<script> function fun() { document.write("write內容"); } </script>

</body>
</html>

 

 

 

效果動態圖:

 

 

舉例二:頁面有初始內容,在初始內容后面給定一個節點,通過innerHTML向這個節點寫內容,初始內容不消失,通過innerHTML新增加的內容准確的顯示在節點位置

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body> 初始內容<a id="p"></a>


<button onclick="fun()">按鈕</button>


<script> function fun() { document.getElementById("p").innerHTML="新增加的innerHTML內容"; } </script>

</body>
</html>

 

效果動態圖:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM