2013-03-04 54 views
0

請看看以下問題和回答,seccond答案(與許多upvotes) Jquery: How to check if the element has certain css class/stylejQuery的addClass到的元素,則將CSS有風格

看起來是這樣的:

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

所以這是真棒,但我想是這樣

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

所以用ID「yourElement」的元素得到一個類添加

什麼是最簡單的方法做到這一點

回答

4

你可以這樣來做:

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

有關語法的詳細信息看一看的API for .addClass()

+0

這一個我最喜歡,謝謝,並感謝所有其他人 – caramba 2013-03-04 12:46:26

2

$('#yourElement')分配給一個變量。然後對該變量執行檢查並將類添加到該變量中。這隻需要簡單地節省在示例中使用$()函數對DOM進行查詢的次數,以及可能需要進一步操作的可能性。

例如:

var your_element = $('#yourElement'); 
if (your_element.css('position') == 'absolute') { your_element.addClass('xxx'); } 
2
var yourElement = $('#yourElement');  
if (yourElement.css('position') == 'absolute') { 
     yourElement.addClass('xxx'); 
} 
2
// Cache your element first 
var $element = $('#yourElement'); 

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