JavaScript中innerHTML与innerText,createTextNode的区别

摘要:
InnerHTML和innerText:它们都将替换元素中的内容。不同之处在于innerHTML将解释和执行替换内容中的HTML标记。例如,有以下代码:varcontent=“这是对innerHTML和innerText的测试”//假设e是网页中的一个元素。innerText=content//显示结果为:这是对innerHTML和innerText的测试innerHTML与createTextNode:innerHTML可以识别标记,而createTextNode将所有内容转换为字符串。然而,innerText是一次性修改,它将修改标记中的所有内容。可以逐个插入createTextNode以避免整体修改。

innerHTML和innerText:

它们都会把元素内内容替换掉,区别在于: innerHTML 会把替换内容里的 HTML 标记解释执行。 innerText 会把替换内容里的 HTML 标记原样输出而不执行。

例如有如下代码:

var content = "<b>这是对innerHTML和innerText的测试</b>" ; // 假设 e 为网页内某元素

e.innerHTML = content ; // 显示结果为  这是对innerHTML和innerText的测试

e.innerText = content ; // 显示结果为  <b>这是对innerHTML和innerText的测试</b>

innerHTML和createTextNode:

innerHTML可以识别标签,而createTextNode会将内容全部转化为字符串。

例如有如下代码:

var content = "<b>这是对innerHTML和innerText的测试</b>" ; // 假设 e 为网页内某元素

e.innerHTML = content ; // 显示结果为  这是对innerHTML和innerText的测试

var text=createTextNode(content) ;

e.appendChild(text)// 显示结果为  <b>这是对innerHTML和innerText的测试</b>

总结:

这样看来innerText和createTextNode的基本用法是一样的,都无法识别标签并转化为html文件。但是innerText是一次性修改,会将标签里所有内容修改,createTextNode可以逐条插入,避免整体的修改。

免责声明:文章转载自《JavaScript中innerHTML与innerText,createTextNode的区别》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇IPC之—共享内存WPF DataGrid出现红框处理下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

节点操作易混点

一、NodeList vs HTMLCollection 1.NodeList NodeList是一个 节点的集合, 是由 Node.childNodes 和 document.querySelectorAll 返回的。 特点 (1) 类数组 它是一种类数组对象,用于保存一组有序的节点,可以通过位置(childNodes[index]或childNodes...

[转]innerHtml,innerText,outterHtml,outterText 的区别

js中innerHTML与innerText的用法与区别 用法: Java代码 <divid="test"> <spanstyle="color:red">test1</span>test2 </div> <div id="test"> <span style...