选择具有特定属性的标签(仅)

时间:2019-10-09 10:58:20

标签: javascript html css dom css-selectors

我在中具有以下文档结构:

...
...
<span class="clblue redcl turbocl">something</span>
<span class="clblue redcl turbocl">something</span>
<span class="clblue">something</span>
<span class="clblue">something</span>
...
...

在JavaScript(仅)中,我想要: document.querySelectorAll("span.clblue")仅赋予'clblue'类的跨度,而不是所有带有'clblue'的跨度以及其他类。

3 个答案:

答案 0 :(得分:4)

如果您只想匹配一个类而不是其他类,则可以使用属性选择器:

document.querySelectorAll('span[class="clblue"]');

答案 1 :(得分:1)

使用CSS仅选择一个类名,

span[^="clblue"][$="clblue"] { ... }

然后我们用JS选择它,

let x = document.querySelectorAll("span[class^=clblue][class$=clblue]"); // NodeList

// x[0], x[1]... x[n]

答案 2 :(得分:0)

如何过滤出querySelectorAll值?

let items = document.querySelectorAll(".clblue");
let filtered = Array.prototype.filter.call(items, function(node) {
    return node.classList.length === 1;
});