当我的HTML看起来像这样:
<div id="aa1"><h1>aaaa</h1><h2 class="center">bbbb</h2></div>
我的javascript看起来像这样:
var list= document.getElementById("aa1").childNodes;
我得到一个如下所示的节点列表:
list= NodeList[h1,h2.center]
但是,如果我的HTML看起来像这样:
<div id="aa1"><h3>cccc</h3><h1>aaaa</h1><h2 class="center">bbbb</h2></div>
我得到一个如下所示的节点列表:
list= NodeList[h3,h1,h2.center]
所以,我想做这样的事情:
if(list[0]==="<h3>"){console.log("yes, list[0] = <h3>");}
但这不起作用。
如何获取节点列表中每个标记的标识?
答案 0 :(得分:4)
使用.nodeName
属性。
if(list[0].nodeName==="H3"){console.log("yes, list[0] = <h3>");}
有一些罕见的边缘情况,名称可以返回小写,因此为了更加安全,您可以在.toUpperCase()
之后添加.nodeName
。
此外,虽然您没有要与之竞争的文本节点,但如果您这样做,则可以使用.children
代替.childNodes
。