如果css具有样式,则jquery addClass为element

时间:2013-03-04 12:35:31

标签: javascript jquery css

请看下面的问题和答案,第二个答案(与许多upvotes) 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”的元素会添加一个类

最简单的方法是什么

4 个答案:

答案 0 :(得分:4)

你可以这样做:

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

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

答案 1 :(得分:2)

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

例如:

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

答案 2 :(得分:2)

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

答案 3 :(得分:2)

// Cache your element first
var $element = $('#yourElement');

if ($element.css('position') == 'absolute') {
    $element.addClass('xxx');
}