为了账号安全,请及时绑定邮箱和手机立即绑定

正在回答

23 回答

一、createTextNode 例如:

var element = document.createElement("div");
element.className = "message";
var textNode = document.createTextNode("<Strong>Hello</Strong>");
element.appendChild(textNode);
document.body.appendChild(element);

结果: <Strong>Hello</Strong>

二、innerHTML 例子:

<div > <h2 id="h2"></h2></div>
document.getElementById("h2").innerHTML = "<strong>hello</strong>";

结果: Hello 识别成加粗的黑体

三、区别

innerHTML和createTextNode都可以把一段内容添加到一个节点中,区别是如果这段内容中有html标签(如例子中的<strong></strong>)时表现就不同了,在createTextNode中会当作文本处理,不会被浏览器解析,但用innerHTML就会被当作HTML代码处理(如你的例子中Hello会被加粗显示)。
总的来说,如果你确定要插入的内容中没有html标签,可以用innerHTML,这样更简洁,但如果不能确定(比如要插入用户输入的内容)建议用createTextNode的方式。

147 回复 有任何疑惑可以回复我~
#1

柳树

学习了。
2014-12-20 回复 有任何疑惑可以回复我~
#2

Wantggg

感谢 !说的很清楚
2015-07-10 回复 有任何疑惑可以回复我~
#3

鲜衣

这里是创建标签,document.getElementById() 或者document.getElementByTagName()就用不了了。只能用createTextNode.这个总结对不对。
2015-09-09 回复 有任何疑惑可以回复我~
#4

h5m1007

简明意概地说,就是innerHTML能解释HTML标签,而createTextNode只能解释纯文本!
2015-10-07 回复 有任何疑惑可以回复我~
#5

霍丶

innerHTML 这样不是直接可以创建子节点了吗?
2016-08-14 回复 有任何疑惑可以回复我~
#6

长缨在手1

那请问和value的区别呢?
2017-02-16 回复 有任何疑惑可以回复我~
#7

sherlockone

回答的真够666的 感谢前辈!
2017-03-17 回复 有任何疑惑可以回复我~
#8

qq_杀意隆_0

厉害厉害
2017-06-03 回复 有任何疑惑可以回复我~
查看5条回复

一、createTextNode

createTextNode() 方法创建新的文本节点,返回新创建的 Text 节点。

语法:

document.createTextNode(data)

参数:

data : 字符串值,可规定此节点的文本。


 -------------------------------------------------------------------------------------------------------

二、innerHTML 属性

innerHTML 属性用于获取或替换 HTML 元素的内容。

语法:

Object.innerHTML

注意:

1.Object是获取的元素对象,如通过document.getElementById("ID")获取的元素。

2.注意书写,innerHTML区分大小写。


14 回复 有任何疑惑可以回复我~

innerHTML和createTextNode都可以把一段内容添加到一个节点中,区别是如果这段内容中有html标签时表现就不同了,在createTextNode中会当作文本处理,不会被浏览器解析,但用innerHTML就会被当作HTML代码处理


7 回复 有任何疑惑可以回复我~
首页上一页123下一页尾页

举报

0/150
提交
取消
JavaScript进阶篇
  • 参与学习       468323    人
  • 解答问题       21893    个

本课程从如何插入JS代码开始,带您进入网页动态交互世界

进入课程
意见反馈 帮助中心 APP下载
官方微信