【问题标题】:Jquery: if class existsJquery:如果类存在
【发布时间】:2011-11-08 12:58:11
【问题描述】:

我想要在页面上立即找到一个名为 prop 的类,并在有类时将其设置为 hidden

重要提示:添加新元素后,我希望该元素与 prop 类发生更改。就像一个while循环

if( class='prop' == found ){

     set class to ('hidden');

}

是的,这个函数是在元素调用者之后插入的。但似乎需要一些时间才能生成元素,所以我需要检查类以尽快将其删除。在这种情况下我不能使用延迟,但结果很糟糕。

【问题讨论】:

  • 这是否意味着您正在动态添加类 prop 的元素?

标签: jquery class find


【解决方案1】:

你需要hasClass函数

if($('selector').hasClass('prop'))
    {
        $(this).removeClass("prop");
        $(this).addClass("hidden");
    }

这可能会有所帮助

【讨论】:

    【解决方案2】:

    $('.prop').hide()

    文档: http://api.jquery.com/class-selector/

    或者如果您想添加一个“隐藏”类:

    $('.prop').addClass('hidden')

    【讨论】:

    • 这是否像 while 循环一样工作?还是只是切换?我需要某种 IF(){ --- }
    • 为什么不使用while循环而不是在添加元素时触发此调用。似乎更有效率
    • 查看@Avanq 答案... 一个通用的解决方案,虽然我建议它手动调用而不是“DomNodeInserted”..
    • 它不能正常工作,因为在每台不同的计算机上计算元素函数需要更长的时间。所以我需要一个类似循环的东西,或者只是一个 if 检查那个函数。是的,类似的东西。谢谢回复
    【解决方案3】:

    javascript 有 some events 来跟踪 DOM 的变化,你可以使用它们。

    $('body').bind('DOMNodeInserted', function(){
      $('.prop', this).hide();
    });
    

    【讨论】:

      猜你喜欢
      • 2013-03-20
      • 1970-01-01
      • 1970-01-01
      • 2017-02-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-15
      • 1970-01-01
      相关资源
      最近更新 更多