![](/img/trans.png)
[英]How to target only specific <span> tags inside a div using css?
[英]How to select label tags that do not have a span inside them using css
是否有可能使用CSS定位所有没有跨度的标签标签:
<label><span></span>foo</label> <-- don't target this one
<label>bar</label> <-- do target this one
您可以尝试使用:empty
伪选择器。
label:empty{//some css here}
如果要定位它们以便可以修改内容,则应使用JavaScript,例如jQuery代码:
$('label:empty').html('Your added html content here');
我当时以为我可能必须使用jQuery,因此我的定位问题也将在这里提供帮助。
使用jQuery,您可以遍历每个label
,过滤掉所有包含span
元素的label
。 为此,我们可以使用jQuery的filter()
方法 :
此方法的第二种形式[
filter
]允许我们根据函数而不是选择器来过滤元素。 对于每个元素,如果函数返回true
(或“真实”值),则该元素将包含在过滤后的集中; 否则将被排除。
$('label').filter(function() {
return $(this).children('span').length == 0;
});
这将选择所有label
的元素( $('label')
然后遍历所有这些使用filter()
以确保没有孩子span
元素被发现(如果有儿童span
元素,在length
属性将等于匹配的数量)。
确定目标后,您要做什么。
如果您希望将文本定位到跨度之外,则可以执行以下操作
label { color: red; }
label span { all: initial; }
但是我不知道这是否可以解决您的问题,甚至可以解决您的问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.