您可以在这里找到我的想法的演示:
http://jsfiddle.net/Hwdfz/7/HTML:<div class="div1">
<div class="div2">
Div2
</div>
<div class="div3">
<div class="div4">
<a href="#">Div4</a>
</div>
</div>
</div>
<div class="div1">
<div class="div2">
Div2
</div>
<div class="div3">
<div class="div4">
<a href="#">Div4</a>
</div>
</div>
</div>
JavaScript: $('.div3 a').each(function(){
$(this).bind('click',function(){
$(this).parents('.div1').find('.div2').css('background','#FF0000');
});
});
我认为联系它的父母不是很有效。你有什么建议吗?
使用.closest
<一口>[医生]一口>:
获取与选择器匹配的第一个祖先元素,从当前元素开始,通过DOM树向上进行。
$('.div3 a').click(function(){
$(this).closest('.div1').find('.div2').css('background','#FF0000');
});
如果您确定该结构,您还可以只返回.div3
并选择其兄弟节点:
$(this).closest('.div3').siblings('.div2').css('background','#FF0000');