JS 判断节点类型
Posted 雨筠
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JS 判断节点类型相关的知识,希望对你有一定的参考价值。
节点类型的分类
节点类型 | 说明 | 值 |
元素节点 | 每一个html标签都是一个元素节点,如 <div> 、 <p>、<ul>等 | 1 |
属性节点 | 元素节点(HTML标签)的属性,如 id 、class 、name 等。 | 2 |
文本节点 | 元素节点或属性节点中的文本内容。 | 3 |
注释节点 | 表示文档注释,形式为<!-- comment text -->。 | 8 |
文档节点 | 表示整个文档(DOM 树的根节点,即 document ) | 9 |
nodeType、nodeName、nodeVale判断节点类型,节点名称和节点值
<!--使用javascript判断节点类型--> <div id="oneDiv">一段文本</div><!--注释文本--> <script type="text/javascript"> var div = document.getElementById("oneDiv"); console.log(div.nodeType); //输出1,元素节点 var divText = div.firstChild; console.log(divText.nodeType) //输出3,文本节点 var divAttr = div.getAttributeNode("id"); console.log(divAttr.nodeType) //输出2,属性节点 var comment = div.nextSibling; console.log(comment.nodeType) //输出8,注释节点 </script>
<!--使用javascript判断节点名称--> <div id="oneDiv">一段文本</div><!--注释文本--> <script type="text/javascript"> var div = document.getElementById("oneDiv"); console.log(div.nodeName); //输出DIV,元素节点为标签大写 var divText = div.firstChild; console.log(divText.nodeName) //输出#text,文本节点使用nodeName时永远为#text var divAttr = div.getAttributeNode("id"); console.log(divAttr.nodeName) //输出id,属性节点为属性名 var comment = div.nextSibling; console.log(comment.nodeName) //输出#comment,注释节点使用nodeName时永远为#comment </script>
<!--使用javascript判断节点值--> <div id="oneDiv">一段文本</div><!--注释文本--> <script type="text/javascript"> var div = document.getElementById("oneDiv"); console.log(div.nodeValue); //输出null,元素节点对于nodeValue不支持 var divText = div.firstChild; console.log(divText.nodeValue) //输出一段文本,文本节点输出文本值 var divAttr = div.getAttributeNode("id"); console.log(divAttr.nodeValue) //输出oneDiv,属性节点输出属性值 var comment = div.nextSibling; console.log(comment.nodeValue) //输出注释文本,注释节点输出注释内容 </script>
以上是关于JS 判断节点类型的主要内容,如果未能解决你的问题,请参考以下文章
JS的数据类型判断函数数组对象结构处理日期转换函数,浏览器类型判断函数合集
片段“F1”不能在这里传播,因为“节点”类型的对象永远不能是“商店”类型