【问题标题】:jquery addClass to element if css has style如果css有样式,jquery addClass to element
【发布时间】:2013-03-04 12:35:30
【问题描述】:

请看下面的问题和答案,第二个答案(有很多赞成票) Jquery: How to check if the element has certain css class/style

看起来像这样:

if ($('#yourElement').css('position') == 'absolute') {
    // true
}

所以这很棒,但我想要类似的东西

if ($('#yourElement').css('position') == 'absolute') {
    $(this).addClass('xxx');
}

因此 ID 为“yourElement”的元素添加了一个类

最简单的方法是什么

【问题讨论】:

    标签: javascript jquery css


    【解决方案1】:

    你可以这样做:

    $('#yourElement').addClass(function(index, currentClass) {
        return $(this).css('position') == 'absolute' ? 'xxx' : '';
    });
    

    有关语法的更多信息,请查看API for .addClass()

    【讨论】:

    • 这个我最喜欢,谢谢,也谢谢大家
    【解决方案2】:
    var yourElement = $('#yourElement');    
    if (yourElement.css('position') == 'absolute') {
            yourElement.addClass('xxx');
    }
    

    【讨论】:

      【解决方案3】:
      // Cache your element first
      var $element = $('#yourElement');
      
      if ($element.css('position') == 'absolute') {
          $element.addClass('xxx');
      }
      

      【讨论】:

        【解决方案4】:

        $('#yourElement') 分配给一个变量。然后对该变量执行检查并将类也添加到其中。这只是节省了在您的示例中使用 $() 函数对 DOM 进行的查询次数,并且可能需要进一步的操作。

        例如:

        var your_element = $('#yourElement');
        if (your_element.css('position') == 'absolute') { your_element.addClass('xxx'); }
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2011-05-13
          • 1970-01-01
          • 2012-02-05
          • 1970-01-01
          • 1970-01-01
          • 2011-06-19
          • 1970-01-01
          相关资源
          最近更新 更多