【发布时间】:2018-09-16 16:10:10
【问题描述】:
<div class="alpha">
<div class="beta">
<label style="color:red; font-size: 12px;">Hello</label>
</div>
</div>
我想排除(=不包括)上面的label。
这包括它(测试成功):
document.querySelectorAll(.alpha .beta label");
现在怎么排除呢?我想选择我所有的label class,但我想排除的只有一个label style。
【问题讨论】:
-
document.querySelectorAll("div:not(.alpha .beta label)");这没有意义,因为您说的是“选择 div,但不是标签”。 Label 一开始就不是 div, -
您要做哪些元素?
-
您不能将复杂的选择器(即多个级别的“路径”)作为
:not()的参数 -
不幸的是there is no css parent selector。似乎您想要其父母不按顺序包含
.beta, .alpha的标签。 -
@paros 如果我理解正确,您可以使用
document.querySelectorAll("label[class]")- 这只会选择具有class属性的标签。 Example