document.write(X) 和 document.getElementById("").innerHTML = X 之间的区别
Difference between document.write(X) & document.getElementById("").innerHTML = X
javascript 的新手,如果这是一个愚蠢的问题,请见谅。标题中的两个语句似乎在做同样的事情,我需要注意什么特别的区别吗?
document.write
可用于在页面解析期间发出标记。解析后不能用于修改页面。 document.write 的输出直接进入解析器,就好像它首先出现在 HTML 文档中一样
innerHTML
不是函数而是 属性,它存在于所有 DOM 元素实例中,可用于使用标记设置它们的内容。这与实例上可用的各种 DOM 方法一起,是完成动态网页的主要方式。
他们不做同样的事情。 document.write
将在加载时附加到页面,无论 <script>
标签恰好在页面中的任何位置。如果您在 页面加载后调用 document.write
,它将在附加之前 擦除 整个页面。
另一方面,document.getElementById("").innerHTML = ''
将某个元素的HTML替换为您给它的内容(您也可以附加.innerHTML += ''
).
高度建议不要在您的页面中使用document.write
。
javascript 的新手,如果这是一个愚蠢的问题,请见谅。标题中的两个语句似乎在做同样的事情,我需要注意什么特别的区别吗?
document.write
可用于在页面解析期间发出标记。解析后不能用于修改页面。 document.write 的输出直接进入解析器,就好像它首先出现在 HTML 文档中一样
innerHTML
不是函数而是 属性,它存在于所有 DOM 元素实例中,可用于使用标记设置它们的内容。这与实例上可用的各种 DOM 方法一起,是完成动态网页的主要方式。
他们不做同样的事情。 document.write
将在加载时附加到页面,无论 <script>
标签恰好在页面中的任何位置。如果您在 页面加载后调用 document.write
,它将在附加之前 擦除 整个页面。
另一方面,document.getElementById("").innerHTML = ''
将某个元素的HTML替换为您给它的内容(您也可以附加.innerHTML += ''
).
高度建议不要在您的页面中使用document.write
。