在文本节点操作过程中,innerHTML与innerText是较便捷的两种操作方式,都可以增加或者更改TextNode。
document.createTextNode的语法较复杂,所以前两中方法使用更多。
这两种方法有几个区别点:
1.innerText可以获得Tag之间的文本内容,innerHTML根据字面意思,可以获得Tag内部的Tags和text内容。
2.innerText存在兼容性问题:在FF低版本浏览器中需要做兼容性。
// get Tag Objects
var textFF = document.getElementById("textFF");
var str = getText(box);
console.log(str);
/**
* @param element DOM
* @returns {text-string}
*/
function getText(element) {
if (element.innerText) {
return element.innerText;
}
else {
return element.textContent;
// for FF
}
}
2019-3-1
实际上,使用 innerText 和 innerHTML 的情况都有,后面的用的多一些。目前使用的 Slate 框架中有很多单独的API,同时原生DOM的很多API也需要多使用。