我有一个问题,我认为我会自己解决,但不知怎的,我不能。我正在使用jQuery
检查班级单页contains
是加号还是减号。如果有加号,我希望icon1
为绿色。如果有minus
,我希望它是红色。
<div class="blocking single-page">
<div class="thumbs-for-you">
<span class="icon1"></span>
<span class="icon2"></span>
</div>
<span class="rate">-100</span>
</div>
我尝试的是(这只是我尝试过的十几件事之一):
$('.single-page:contains("-")').removeClass('.icon2');
$('.single-page:contains("-")').removeClass('icon2');
我没有得到它的工作。我也尝试使用children
和siblings
,但没有效果。我猜测无法一起使用removeClass
和contains
。我错了吗?
请问有人帮我解决这个问题吗?
PS:一点描述 - &gt;如果删除类icon1和2,图像将自动消失。
答案 0 :(得分:1)
答案 1 :(得分:0)
实际上,您正在对元素应用过滤器,而您要选择的元素是它的子元素。试试这个。
$('.single-page').find(':contains("-")').removeClass('icon2');
这里有一个示例小提琴:http://jsfiddle.net/7Vzs5/
PS。在您提供的示例代码中,甚至没有一个可用的元素具有类icon2
并包含“ - ”
答案 2 :(得分:0)
这些类在您的范围内,因此您需要遍历包含该类的范围 - 同时删除removeClass中的.
$('.single-page:contains("-") .icon2').removeClass('icon2');
或
$('.single-page:contains("-")').find('.icon2').removeClass('icon2');
答案 3 :(得分:0)
$('。single-page:contains(“ - ”)')选择器将您带到包含“ - ”的div,在本例中为rate div,而不是单页div。现在,您必须备份一个级别,然后找到跨度。
始终注意选择器返回的内容,将来可能对您有帮助。
$('.single-page :contains("-")').parent().find('span').removeClass('icon2');