欲toggle a class基於一些條件,我有從經處理的元件的ID來計算:的jquery toggleClass() - 訪問所選元素
$(".centre li").toggleClass("highlight", someFunction(x));
(這將選擇約10列表元素。我需要每個元素的ID來查找是否需要突出與否。)
someFunction(selectedElement) {
if (selectedElement.id in someArray)
return true
else
return false
}
我可能有失去了我的方式關閉地獄,但在this
函數被設置爲另一個元素。這纔是真正的代碼:
...
showListItem = function(linkSelector, listSelectors, contentSelector) {
return function() {
$(".centre li").toggleClass("backgroundFullOrange", test(this));
function test(a) {
console.log($(a).attr("id")); // -> id of the linkSelector-element
}
}
};
$(linkSelector).bind('click', showListItem(linkSelector, listSelectors, contentSelector))
...
更新:原來,toggleClass()不是我一直在尋找的功能。查看正確使用的接受答案。
有一個'if'語句,只有**返回'true'或'false'是不必要的。您在someArray'子句中的selectedElement.id將返回一個布爾值,所以只需返回該值即可。 – 2012-04-06 18:16:08
@Anthony - 我知道。只是覺得爲你們閱讀起來更容易。這是僞代碼畢竟:) – 2012-04-06 18:23:14