🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
- innerText:它的内容实际上就是你在浏览器看到的内容。它的值是经过浏览器解释过的结果:它将元素的`innerHTML`换码、解释,最终显示出来,然后去除各种格式信息留下的纯文本。它会把`<br/>`换成换行符,会将多个空格并成一个空格对待,而本来的换行符却并不会引起换行,IE会将其当作一个普通的单词边界(一般是空格)。再说的形象点,一个元素的`innerText`属性的值,和你将这个元素内容复制粘贴到记事本里的内容一致。 - textContent:它的内容则是`innerHTML`去除所有标签后的内容(我怀疑这个是从XMLDOM中照搬过来的属性,特性完全一致)。它会将innerHTML中的转义字符(<、 什么的)进行换码,但是不对任何html标签进行解释,而是直接剔除它们。它也不会对innerHTML中的文本按照HTML的方式进行格式转换,比如多个空格还会原原本本地保留,不会合并为一个空格,换行符仍然存在(相反`<br/>`却不会导致换行)。 更加简练的总结:IE中的innerText是需要对innerHTML的值进行: 1、HTML转义(等同于XML转义,对<、&等转义字符进行处理); 2、经过HTML解释和CSS样式解释; 3、之后又剔除格式信息 之后留下的纯文本。 而FF中的textContent没有2、3步,在经过了HTML转义之后直接剔除所有html标签后得到的纯文本。