在jQuery中同时使用:contains和removeClass
我有一个问题,我想我可以自己解决,但不知为什么,我不能。我正在使用在jQuery中同时使用:contains和removeClass,jquery,jquery-ui,contains,removeclass,Jquery,Jquery Ui,Contains,Removeclass,我有一个问题,我想我可以自己解决,但不知为什么,我不能。我正在使用jQuery检查类单页是否包含一个加号或减号。如果有加号,我希望icon1为绿色。如果有一个减号,我希望它是红色。 <div class="blocking single-page"> <div class="thumbs-for-you"> <span class="icon1"></span> <span class="icon2"></span&g
jQuery
检查类单页是否包含一个加号或减号。如果有加号,我希望icon1
为绿色。如果有一个减号
,我希望它是红色。
<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>
我没有让它工作。我也尝试过使用儿童
和兄弟姐妹
,但没有效果。我猜想没有办法同时使用removeClass
和contains
。我是不是错了
有人能帮我解决这个问题吗
PS:littledescription-->如果我删除类icon1和2,图像将自动消失。试试看
<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>
您正在应用错误的语法
试着做以下事情
.removeClass('icon2')代码>取而代之
.removeClass('.icon2');
阅读API实际上您正在对元素应用过滤器,而您要选择的元素是它的子元素。试试这个
$('.single-page').find(':contains("-")').removeClass('icon2');
这里有一把小提琴样品:
另外,在您提供的示例代码中,甚至没有一个元素具有classicon2
并包含“-”这些类在您的span上,因此您需要遍历到包含该类的span中-同时删除removeClass中的
$('.single-page:contains("-") .icon2').removeClass('icon2');
或
$('.single page:contains(“-”)选择器将您带到包含“-”的div,在本例中是rate div,而不是single page div。现在,您必须备份一个级别,然后查找跨度
始终注意选择器返回的内容,这可能在将来对您有所帮助
$('.single-page :contains("-")').parent().find('span').removeClass('icon2');
尝试.removeClass('icon2')
而不是.removeClass('icon2')正如Dado Jerry所说,.Class()
方法接受类,而不是选择器,因此不需要前缀
Nope Nope和Nope。这行不通。我之前试过了,我们说的是真的,你写的有问题。你还有一个额外的问题。这不是正确的答案;您只是假设它是正确的。@Johan很高兴它有帮助:)您只选择了div,它没有您想要删除的类,所以解决方案是找到您想要的元素,这样您就可以修改它了。这是正确的。真不敢相信我居然没看到。无论如何,再次谢谢你,我欠你一个人情。
$('.single-page :contains("-")').parent().find('span').removeClass('icon2');