HTML中节点个数统计,文本节点NodeValue的取法
2013-12-14 23:31
399 查看
在html的DOM模型中,要通过js取得某一个范围下的节点个数,节点个数=元素节点的个数+文本节点个数(元素节点标签内包含的文本)+1个空的文本节点。
<ul id="ul">
<li>列表一</li>
<li>列表二</li>
<li>列表三</li>
</ul>
<script>
varul=document.getElementById("ul");
alert(ul.childNodes.length);//输出7,共有7个节点,其中3个元素li节点,3个元素li下面的文本节点,再加上一个元素ul的firstChild,1个空的文本节点。
</script>
上面的示例中,是有3个元素节点,元素节点的包含的内容可以通过innerHTML来获取,获取的内容分别是 “列表一”“ 列表二”“ 列表三”
4个文本节点,它们的内容可以通过文本节点的nodeValue属性,且nodeValue属性只有文本节点和属性节点才有的。
但是要获取到文本节点并不是那么简单,文本节点是包含在元素标签内的,3个li元素节点包含了3个文本节点,还有一个ul元素节点包含一个空白文本节点,虽然通过ul的childNodes能取到文本节点,但ul.childNodes[文本节点的索引].nodeValue是无法取到文本节点的值。
要取到文本节点的nodeValue,只能通过li元素节点的firstChild.nodeValue,才能取到。虽然ul的childNodes能够取到文本节点,但要取到文本节点的内容,则是要从文本节点的父节点——元素节点,该元素节点的firstChild.nodeValue才是文本节点的值。
<ul id="ul">
<li>列表一</li>
<li>列表二</li>
<li>列表三</li>
</ul>
<script>
varul=document.getElementById("ul");
alert(ul.childNodes.length);//输出7,共有7个节点,其中3个元素li节点,3个元素li下面的文本节点,再加上一个元素ul的firstChild,1个空的文本节点。
</script>
上面的示例中,是有3个元素节点,元素节点的包含的内容可以通过innerHTML来获取,获取的内容分别是 “列表一”“ 列表二”“ 列表三”
4个文本节点,它们的内容可以通过文本节点的nodeValue属性,且nodeValue属性只有文本节点和属性节点才有的。
但是要获取到文本节点并不是那么简单,文本节点是包含在元素标签内的,3个li元素节点包含了3个文本节点,还有一个ul元素节点包含一个空白文本节点,虽然通过ul的childNodes能取到文本节点,但ul.childNodes[文本节点的索引].nodeValue是无法取到文本节点的值。
要取到文本节点的nodeValue,只能通过li元素节点的firstChild.nodeValue,才能取到。虽然ul的childNodes能够取到文本节点,但要取到文本节点的内容,则是要从文本节点的父节点——元素节点,该元素节点的firstChild.nodeValue才是文本节点的值。
相关文章推荐
- jQuery获取文本节点之 text()/val()/html() 方法区别
- jQuery获取文本节点之 text()/val()/html() 方法区别
- 问题:修改文本节点时字符串会经过HTML编码?
- hadoop节点nodemanager启动失败原因
- js中创建html标签、加入select下默认的option的value和text、删除select元素节点下全部的OPTION节点
- js中创建html标签、添加select下默认的option的value和text、删除select元素节点下所有的OPTION节点
- jQuery获取文本节点之 text()/val()/html() 方法区别
- html中checkbox选中则value为yes,没选中为no
- html中checkbox选中则value为yes,没选中为no
- jQuery获取文本节点之 text()/val()/html() 方法区别
- 遍历整个html文档 并打印出该html文档中的所有文本节点 属性节点 元素节点
- hadoop节点nodemanager启动失败原因小结~
- jQuery获取文本节点之-text()/val()/html() 方法区别
- jQuery获取文本节点之 text()/val()/html() 方法区别
- 11.21课堂笔记-查找节点和创建节点、插入节点和删除节点、复制节点替换节点、包裹节点和属性操作、样式操作、设置和获取HTML、文本和值
- 取HTML中节点中的文本内容
- hadoop节点nodemanager启动失败
- jQuery获取文本节点之 text()/val()/html() 方法区别 详细出处参考:http://www.jb51.net/article/26431.htm
- DOM操作HTML文档;js创建表格;清除空文本节点