我想根据必须从已处理元素的 ID 计算的某些条件切换一个类:
$(".centre li").toggleClass("highlight", someFunction(x));
(这将选择大约 10 个列表元素。如果需要突出显示,我需要查找每个元素的 ID。)
someFunction(selectedElement) {
if (selectedElement.id in someArray)
return true
else
return false
}
我可能在closure-hell 中迷路了,但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() 不是我一直在寻找的功能。请参阅接受的答案以了解正确用法。