処理された要素のIDから計算する必要がある条件に基づいてクラスを切り替えたい:
$(".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()は私が探していた関数ではないことが判明しました。正しい使用法については、受け入れられた回答を参照してください。