例如,在以下代码段中:
<tr>
<td align="center">123</td>
<td class="someclass">abc</td>
</tr>
我想选择<tr>
与[{1}} <td>
的所有class="someclass"
元素。
我想知道在css中这是否可行,而不使用javascript。感谢。
答案 0 :(得分:4)
你的要求是不可能的。 CSS从左向右读取,这意味着您无法基于childs属性指定父元素。你可以在javascript中执行此操作,但就像你说你不想使用它。
示例HTML:
<div class="box">
<div class="green">
Some text
</div>
</div>
<div class="box">
<div class="red">
Some Text
</div>
</div>
示例CSS:
.box {
color: blue;
}
.box .green {
color: green;
}
.box .red {
color: red;
}
如您所见,您可以单独选择父元素,但不能基于子元素属性。
从技术上讲,您应该始终向外工作。如果您需要在父级上应用特定样式,则应添加额外的类。
示例HTML:
<div class="box green">
Some Text
</div>
示例CSS:
.box.green {
color: green;
}
你可以在上面的CSS中看到你可以“堆叠”类来选择合适的元素。
希望这有帮助,如果您有任何问题请问。我可以发布一个javascript变体,如果为此打开一个新主题,它将能够根据子元素属性选择一个元素。
答案 1 :(得分:0)
选择具有特定类的元素:
.someclass{
color: red;
}
答案 2 :(得分:0)
我想选择所有元素 有一个with class属性 “SomeClass的”。
如果选择你的意思是节点选择,你只能使用JavaScript。
$(".someclass").doStuff();
但如果通过选择你的意思是CSS选择:
<element class="someclass">
来选择 .someclass
。