资讯专栏INFORMATION COLUMN

DOM疑惑点整理(三)

lucas / 2037人阅读

摘要:好的,这些是众所周知的。和两者最大区别就是是否会改变调用它们的节点自身,类似上面与的其二中所描述。并未写入规范,不建议使用,而且会导致调用它的节点自身消失。两者可能因为浏览器不同,输出的文本格式略有差别

innerHTML和outerHTML

先说一个几乎众所周知的,innerHTML和outerHTML中的内容都会被解析为DOM子树,其二就是,

执行效果等于:

txt

而outerHTML的执行,

执行效果等于:

txt

就是原本的div消失了,调用outer HTML的整个节点全部被替换了。但是该div还存在,并没有被删除,可以通过console.log(txt)看到它。
好的,这些是众所周知的。
在使用innerHTML或者outerHTML过程中,会有一个小细节,有关script的,但并不是script在ie8-的那个无作用域的问题(这个也是众所周知的)。

小细节:
";

这样的代码,在浏览器运行会出错,出错处在第四行,修改第四行为如下,就不会报错:

txt.innerHTML = "";

需要你加一个转义符号,反观第三行结尾不需要转义符也不会出错。
原因是浏览器解析时遇到就会认为是结束标签就会和第一行的,记得转义符。

innerText和outerText

两者最大区别就是是否会改变调用它们的节点自身,类似上面innerHTML与outerHTML的其二中所描述。
outerText并未写入规范,不建议使用,而且会导致调用它的节点自身消失。
innerText与textContent区别总结:

阅读需要支付1元查看
<