click を使用する場合はthis
、クリックした h2 を参照し、.parent()
to (または .closest('.container') を使用してからルックアップを使用します。
http://jsfiddle.net/gSCQ7/7/
var highlight = "highlight";
$('.container h2').click(function(){
var hasSubCategorys = $(this).parent().find(".sub-cat").length > 0;
$(this)[hasSubCategorys ? 'addClass' : 'removeClass'](highlight);
});
または、より読みやすくしたい場合:
var highlight = "highlight";
$('.container h2').click(function(){
var hasSubCategorys = $(this).parent().find(".sub-cat").length > 0;
if(hasSubCategorys) {
$(this).addClass(highlight);
} else {
$(this).removeClass(highlight);
}
});
編集: http://jsfiddle.net/gSCQ7/10/.container h2
CSS コードをvsより具体的に変更.hightlight