DOM中的节点类型
2016-09-18 22:36
393 查看
因为文档对象是由节点组成,而节点又包括:标签节点,属性节点,文本节点,注释节点
如何来区别这些节点的类型呢?需要使用nodeType,节点除了有nodeType,还有nodeName,nodeValue
先来看下父节点和子节点
parentNode 获取父节点(或者是父元素),节点与元素是等价的
childNodes 是DOM的标准属性,不但可以获取标签节点,还可以获取标签之间的文本节点(包括空白节点),但是IE8及之前的浏览器会忽略空白文本节点
children不是标准的DOM属性,但是所有的浏览器都支持使用,它只会获取标签节点,而忽略空白的文本节点,非空白的文本节点则不会忽略
文本节点和标签节点:
属性节点:
总结:
如何来区别这些节点的类型呢?需要使用nodeType,节点除了有nodeType,还有nodeName,nodeValue
先来看下父节点和子节点
parentNode 获取父节点(或者是父元素),节点与元素是等价的
childNodes 是DOM的标准属性,不但可以获取标签节点,还可以获取标签之间的文本节点(包括空白节点),但是IE8及之前的浏览器会忽略空白文本节点
children不是标准的DOM属性,但是所有的浏览器都支持使用,它只会获取标签节点,而忽略空白的文本节点,非空白的文本节点则不会忽略
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> <div class="box"> <ul id="ul">aaa <li>111</li> <li>222</li> <li>333</li> <li>444</li> </ul> </div> <script> // 获取对象 var ul = document.getElementById("ul"); // 获取ul标签的父元素,parentNode是获取当前标签的父元素 var div = ul.parentNode;
// 获取ul标签下的所有的子节点,有childNodes和children两种方法 // childNodes是DOM的标准属性,不但可以获取标签节点,还可以获取标签之间的文本节点(包括空白节点),但是IE8及之前的浏览器会忽略空白文本节点,非空白的文本节点则不会忽略 var lis = ul.childNodes; console.log(lis.length); <span style="color:#ff0000;">//打印的结果为:9 </span>// children不是标准的DOM属性,但是所有的浏览器都支持使用,它只会获取标签节点,而忽略文本节点 var liss = ul.children; console.log(liss.length); <span style="color:#ff0000;">//打印的结果为:4 </span> for(var i = 0; i < lis.length; i++) { console.log(lis[i].nodeType); //获取节点的类型 console.log(lis[i].nodeName); //获取节点的名字 console.log(lis[i].nodeValue); //获取节点的值 } var box = div.getAttributeNode("class"); //获取div标签的class属性节点; console.log(box.nodeType); //获取属性节点的类型 console.log(box.nodeName); //获取属性节点的名字 console.log(box.nodeValue); //获取属性节点的值 </script> </body> </html>
文本节点和标签节点:
属性节点:
总结:
节点 | 标签 | 属性 | 文本 |
nodeType | 1 | 2 | 3 |
nodeName | 对应的标签名 | 对应的属性名 | #text |
nodeValue | null | 对应的属性值 | 对应的文本值 |
相关文章推荐
- Js nodeType 属性全面解析
- Js中parentNode,parentElement,childNodes,children之间的区别
- IE与FireFox中的childNodes区别
- jQuery初学:find()方法及children方法的区别分析
- jQuery find和children方法使用
- 谈谈Jquery中的children find 的区别有哪些
- nodeType属性返回被选节点的节点类型介绍
- javascript中parentNode,childNodes,children的应用详解
- jQuery筛选器children()案例详解(图文)
- JavaScript操作DOM元素的childNodes和children区别
- 浅谈nodeName,nodeValue,nodeType,typeof 的区别
- JavaScript中的nodeName nodeType nodeValue区别
- jquery中find,children,contents的区别
- HTML DOM概念及相关操作
- UVA - 10905 Children's Game
- DOM元素的childNodes和children的区别
- jQuery 遍历 - children() 方法
- parentNode、firstChild
- jquery中children及find的不同
- JQuery瞬间回想-3(children和find区别)