在 JavaScript 中,document.write()、innerHTML 和 innerText 都是用于向 HTML 页面中添加内容的方法,但它们之间有以下区别:
1. document.write():是最早的一种向网页中添加内容的方法,它可以在 HTML 页面中任意位置输出内容,包括在文档加载完毕后。使用 document.write() 时,如果在页面加载完成后再调用该方法,它会覆盖整个页面的内容。因此,一般不建议使用 document.write() 方法。
2. innerHTML:是一个元素的属性,它可以获取或设置元素的 HTML 内容。通过设置 innerHTML 属性,可以动态地向页面中添加、修改或删除元素的内容。例如:document.getElementById("myDiv").innerHTML = "Hello, World!"; 这行代码会将 id 为 myDiv 的元素的内容设置为 "Hello, World!"。
3. innerText:也是一个元素的属性,它可以获取或设置元素的文本内容。与 innerHTML 不同,innerText 只会返回元素的文本内容,不会返回 HTML 标签。例如:document.getElementById("myDiv").innerText = "Hello, World!"; 这行代码会将 id 为 myDiv 的元素的文本内容设置为 "Hello, World!"。
需要注意的是,innerHTML 和 innerText 都可以用于向页面中添加内容,但它们之间存在一些差异。innerHTML 可以添加 HTML 标签和属性,而 innerText 只能添加纯文本内容。此外,innerHTML 更适合于大量内容的添加和修改,而 innerText 更适合于简单的文本替换操作。但是,由于 innerHTML 和 innerText 都可以通过 JavaScript 脚本修改,因此在防止 XSS 攻击时需要注意安全问题。