javascript - 如何在 Javascript 中识别节点列表中的标签?

标签 javascript html dom

当我的 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>");}

但这不起作用。

如何获取节点列表中每个标签的标识?

最佳答案

使用.nodeName属性。

if(list[0].nodeName==="H3"){console.log("yes, list[0] = <h3>");}

在一些罕见的边缘情况下,名称可能会返回小写,因此为了额外的安全性,您可以在 .nodeName 之后添加 .toUpperCase()


此外,虽然您没有要处理的文本节点,但如果有的话,您可以使用 .children 而不是 .childNodes

关于javascript - 如何在 Javascript 中识别节点列表中的标签?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16533302/

相关文章:

javascript - 使用 For 循环时图像未正确对齐

javascript - 在单独的函数中使用来自两个句柄的 jquery-ui 范围 slider 的值

javascript - 使用 Javascript 动态更改输入文本中的 CSS

javascript - 排序指令的 Angular 架构

javascript - 如何将 mocha 测试与 async.series 一起使用

javascript - 如何正确使用indexOf来检查数组中是否有某些内容

javascript - 表单未得到验证

php - $data=mysqli_fetch_array($result) 不起作用

html - 我想让这个表中的行可折叠/展开

javascript - 将鼠标移动和点击坐标按照它们发生的顺序组合成一个 var 字符串以获取 url?