【问题标题】:Using :contains and removeClass together in jQuery在 jQuery 中一起使用 :contains 和 removeClass
【发布时间】:2013-06-26 13:42:35
【问题描述】:

我有一个问题,我以为我会自己解决,但不知何故,我做不到。我正在使用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'); 

我没有让它工作。我也尝试使用childrensiblings,但没有效果。我猜没有办法同时使用removeClasscontains。我错了吗?

有人可以帮我解决这个问题吗?

PS:一点说明 --> 如果我删除类 icon1 和 2,图像将自动消失。

【问题讨论】:

  • 尝试.removeClass('icon2') 而不是.removeClass('.icon2');
  • 正如 Dado Jerry 所说,.&lt;something&gt;Class() 方法采用类,not 选择器,因此不需要前缀 .
  • 不不不。它行不通。我之前试过那个。
  • 嗯,我们说的是真的,你写的有问题。你还有一个额外的问题。
  • 不。这不是正确的答案;你只是假设它是正确的。

标签: jquery jquery-ui contains removeclass


【解决方案1】:

试试

您使用了错误的语法。

尝试做以下事情

.removeClass('icon2'); 改为

.removeClass('.icon2');

读取 API removeClass

【讨论】:

    【解决方案2】:

    这些类在您的跨度上,因此您需要遍历包含该类的跨度 - 同时删除 removeClass 中的 .

    $('.single-page:contains("-") .icon2').removeClass('icon2'); 
    

    $('.single-page:contains("-")').find('.icon2').removeClass('icon2'); 
    

    【讨论】:

    • @Johan 很高兴它有帮助:) 你只选择了 div - 它没有你想要删除的类 - 所以解决方案是找到你想要的元素,这样你就可以修改它
    • 没错。我不敢相信我没有看到。无论如何,再次感谢,我欠你一个。
    【解决方案3】:

    实际上,您正在对元素应用过滤器,而您要选择的元素是它的子元素。试试这个。

    $('.single-page').find(':contains("-")').removeClass('icon2');
    

    这里有一个示例小提琴:http://jsfiddle.net/7Vzs5/

    附言。在您提供的示例代码中,甚至没有 1 个可用的元素具有类 icon2 并包含“-”

    【讨论】:

      【解决方案4】:

      $('.single-page :contains("-")') 选择器会将您带到包含“-”的 div,在这种情况下,是速率 div,而不是单页 div。现在,您必须备份一个级别,然后找到跨度。

      始终注意选择器返回的内容,这可能会对您有所帮助。

      $('.single-page :contains("-")').parent().find('span').removeClass('icon2');
      

      【讨论】:

        猜你喜欢
        • 2014-03-25
        • 1970-01-01
        • 2013-07-26
        • 2019-01-29
        • 1970-01-01
        • 2012-05-06
        • 2015-08-15
        • 2016-01-10
        • 1970-01-01
        相关资源
        最近更新 更多