我有两种类型的标签,普通标签(如第一行)和标签中包含输入字段。什么CSS规则可以让我选择所有<label>
但排除碰巧包含<input>
的所有标签?
<label for="type">Some Label</label>
<label for="type">
<input type="checkbox" value="1" id="type">Some Label
</label>
答案 0 :(得分:2)
这样做的最好方法是为他们添加不同的类或者至少为其中一个添加不同的类。
CSS没有父选择器,因此您无法检查包含其他javascript的元素。
一些背景:
CSS selector for "foo that contains bar"?
Is there a CSS parent selector?
CSS Parent/Ancestor Selector
Complex CSS selector for parent of active child
答案 1 :(得分:2)
“相邻兄弟”选择器应该可以工作, IF 您正在寻找标签+输入对:
label+input
{
/* rules */
}
这会忽略您的标签嵌套输入,除非在其中包含输入的标签后发生输入。
请参阅Sitepoint的CSS参考:http://reference.sitepoint.com/css/adjacentsiblingselector