【问题标题】:jquery change class if attribute value = [duplicate]如果属性值= [重复],则jquery更改类
【发布时间】:2013-10-17 18:25:55
【问题描述】:

早安,

对不起,我认为这是一个简单的“愚蠢”问题,但我有一个很大的空白。

如果 attr 值等于给定值,我想更改一个类。

我有以下几点:

 <a str=10 href="start.php class="old">Start<a>

因此,如果 a 中的 str attr 为 10,我会将类设置为 class="new"

我尝试过类似的方法:

$('a.attr.subnr.10).addClass('old');

我想是凌晨:-(

谢谢!

【问题讨论】:

    标签: jquery


    【解决方案1】:

    试试这个简单的语句:

    $("a[str='10']").addClass("old");
    

    【讨论】:

    • 谢谢你这是最简单的方法!
    【解决方案2】:
    $('a[str=10]').removeClass('old').addClass('new');
    

    【讨论】:

      【解决方案3】:

      首先str不是有效属性,考虑使用data-str

      你可以这样做

      if($('a').attr('data-str') == 10) {
          $('a').addClass('add_class');
      }
      

      Demo


      确保您使用特定的选择器,这是一个通用的选择器,因此请考虑使用 .parent a 之类的东西


      如果你想要一个纯 CSS 的解决方案,你也可以使用 attr=value 之类的选择器

      a[data-str="10"] {
         color: red;
      }
      

      这不会向您的元素添加类,但您可以使用上面的选择器定位它。

      【讨论】:

      • 谢谢你这么好的表达!你是对的 str 不是一个有效的值,但在我的情况下很遗憾地说是必要的:-(
      • @Phantom001 至少在值周围使用引号..
      【解决方案4】:

      试试这个

      $('a[str=10]').removeClass('oldClass').addClass('newClass');
      $('a[str!=10]').removeClass('newClass').addClass('OldClass');
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-05-27
        • 2013-06-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-08-10
        • 1970-01-01
        • 2016-11-02
        相关资源
        最近更新 更多