当你使用 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/将 CSS 代码更改为比.container h2
vs更具体.hightlight