如何在Javascript中识别节点列表中的标记?
当我的HTML如下所示时:如何在Javascript中识别节点列表中的标记?,javascript,html,dom,Javascript,Html,Dom,当我的HTML如下所示时: <div id="aa1"><h1>aaaa</h1><h2 class="center">bbbb</h2></div> var list= document.getElementById("aa1").childNodes; list= NodeList[h1,h2.center] <div id="aa1"><h3>cccc</h3><h1&g
<div id="aa1"><h1>aaaa</h1><h2 class="center">bbbb</h2></div>
var list= document.getElementById("aa1").childNodes;
list= NodeList[h1,h2.center]
<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>");}
我得到的节点列表如下所示:
<div id="aa1"><h1>aaaa</h1><h2 class="center">bbbb</h2></div>
var list= document.getElementById("aa1").childNodes;
list= NodeList[h1,h2.center]
<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>");}
但是,如果我的HTML如下所示:
<div id="aa1"><h1>aaaa</h1><h2 class="center">bbbb</h2></div>
var list= document.getElementById("aa1").childNodes;
list= NodeList[h1,h2.center]
<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>");}
所以,我想这样做:
<div id="aa1"><h1>aaaa</h1><h2 class="center">bbbb</h2></div>
var list= document.getElementById("aa1").childNodes;
list= NodeList[h1,h2.center]
<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>");}
if(list[0]=”){console.log(“是,list[0]=”);}
但这不起作用
如何获取节点列表中每个标记的标识 使用
.nodeName
属性
if(list[0].nodeName==="H3"){console.log("yes, list[0] = <h3>");}
if(列表[0].nodeName==“H3”){console.log(“是,列表[0]=”);}
在一些罕见的边缘情况下,名称可以以小写形式返回,因此为了更加安全,您可以在.nodeName
之后添加.toUpperCase()
此外,尽管您没有文本节点要处理,但是如果您有,您可以使用
.children
而不是。childrenodes
使用.nodeName
属性
if(list[0].nodeName==="H3"){console.log("yes, list[0] = <h3>");}
if(列表[0].nodeName==“H3”){console.log(“是,列表[0]=”);}
在一些罕见的边缘情况下,名称可以以小写形式返回,因此为了更加安全,您可以在.nodeName
之后添加.toUpperCase()
此外,虽然您没有文本节点要处理,但如果您有,您可以使用
.children
而不是.childrends
您的最终目标是什么?您正在寻找该属性吗?(或者,等等)你的最终目标是什么?你在找房子吗?(或者,等等)它与大写字母“H3”一起工作。哇!我从来没想过。谢谢,所以muchit使用大写字母“H3”。哇!我从来没想过。非常感谢