javascript中Element.nodeValue和innerHTML有什么区别

 我来答
己学好4
2016-03-02 · TA获得超过1.5万个赞
知道大有可为答主
回答量:1.1万
采纳率:91%
帮助的人:4989万
展开全部
DOM中的节点是分好几种类型,常见的有
1.文档节点 (document,唯一)
2.元素节点 (那些个标签div,p之类)
3.属性节点(class,src这种)
4.文本节点(插入在p,div内的文本)
其它。。

其中element.nodeValue,是节点的值,其中属性节点和文本节点是有值的,而元素节点没有值。

innerHTML以字符串形式返回该节点的所有子节点及其值

举个例子 :
<p id="example" title="texts">
这是一段文本
<span></span>
</p>

var p = document.getElementById('example');
p.nodeValue
//null,p是元素节点,所以nodeValue为null
p.getAttributeNode('id').nodeValue
//example,这里获取到p的id属性的属性节点,nodeValue就是它的属性值
p.childNodes[0].nodeValue
/*
"
这是一段文本
"
p是含有两个子节点的,插入的文本虽然没有标签,但它依然是一个节点。
其类型是是文本节点,其nodeValue是就是写入在其中的字符串,包含换行和缩进
*/
p.innerHTML
/*
"
这是一段文本
<span></span>"
这里innerHTML返回了p所包含的全部的节点的所包含的各种值了,以字符串的形式。
*/
千锋教育
2018-07-06 · 做真实的自己 用良心做教育
千锋教育
千锋教育专注HTML5大前端、JavaEE、Python、人工智能、UI&UE、云计算、全栈软件测试、大数据、物联网+嵌入式、Unity游戏开发、网络安全、互联网营销、Go语言等培训教育。
向TA提问
展开全部
定义和用法
innerHTML 属性设置或返回表格行的开始和结束标签之间的 HTML。
定义和用法
nodeType 属性返回以数字值返回指定节点的节点类型。
如果节点是元素节点,则 nodeType 属性将返回 1。
如果节点是属性节点,则 nodeType 属性将返回 2。
  从下面例子中可以很好的了解区别,举例如下:
  x=mylist.parentNode.parentNode.parentNode.lastChild 这里返回的是一个最后一个li元素节点。
  x=mylist.parentNode.parentNode.parentNode.lastChild.firstChild 这里返回的是最后一个li元素节点的第一个子节点,这个子节点在这里是一个文本节点。nodeValue也就是文本节点的文本。
  而innerHTML是元素对象的属性。在这里是一个文本节点,因而返回underfined.
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式