基于HTML DOM中缺少class-attribute选择元素

时间:2016-11-20 13:24:13

标签: javascript html dom

使用HTML DOM,我想选择几乎所有td标签,除了那些具有类属性“xyz”的td标签。

使用document.selectElementsByTagname [“td”]我可以获得所有td元素。但是,我不希望只有那些类属性!=“xyz”。

由于html DOM中没有谓词,我目前看不到实现此目的的方法。还有办法吗?

2 个答案:

答案 0 :(得分:1)

你喜欢这样:

document.querySelector("td:not(.xyz)")

答案 1 :(得分:1)

您可以将querySelectorAll:not()伪类选择器一起使用。

document.querySelectorAll("td:not(.xyz)")



Array.from(document.querySelectorAll("td:not(.xyz)")).forEach(function(e) {
  e.style.color = "red";
})

<table>
  <tr>
    <td class="xyz">a</td>
    <td class="xyz">a</td>
    <td>a</td>
    <td class="xyz">a</td>
    <td>a</td>
    <td class="xyz">a</td>
  </tr>
</table>
&#13;
&#13;
&#13;