我有一些CSS属性和类,根据元素出现在HTML中的位置应用。在CSS中检查背景
但是有些元素并不等于这些值中的任何一个,所以我希望能够检查DIV中的哪些元素没有通过CSS设置的背景,然后应用背景。
喜欢的东西:
$('.divclass:has('background')').addClass('IneedaBG.gif');
或者
$('.divclass:has(not:class1,class2,class2)').addClass('IneedaBG.gif');
我有一些CSS属性和类,根据元素出现在HTML中的位置应用。在CSS中检查背景
但是有些元素并不等于这些值中的任何一个,所以我希望能够检查DIV中的哪些元素没有通过CSS设置的背景,然后应用背景。
喜欢的东西:
$('.divclass:has('background')').addClass('IneedaBG.gif');
或者
$('.divclass:has(not:class1,class2,class2)').addClass('IneedaBG.gif');
我不知道类名可以有一个点(IneedaBG.gif)。试想一下,如果你试图用选择器来选择这个:
$(".IneedaBG.gif")
我敢肯定,这是行不通的。你可能想要一个CSS属性中定义的图像吗?
此外,还可以加快你的选择表现了一下,直接参考.divclass类将扫描整个DOM:
$("div.divclass:has('background')").addClass("IneedaBG");
也尝试使用“的选择,而不是有多个”
你可以有DIV的ID吗?那会更好!
尝试过滤掉那些没有背景元素集合(无论是在样式或内联,jQuery的捕捉两者),然后加上你的类到以下元素:
$('.divclass')
.filter(function() { return $(this).css('background-image') })
.addClass('IneedaBG')
试试这个:
$('.divclass').each(function()
{
if($(this).css('background') != '') $(this).addClass('Bgclass');
});
您的代码
$('.divclass:has('background')').addClass('IneedaBG.gif');
将不起作用:只看颜色标示。内部报价需要为""
或``
。此外:has
是方含元素的元素:a:has(b)
意味着“选择含有至少一种b
元素中的所有元素a
”