考虑以下html:
<div class="parent1">
<div class="child1">
<div class="child2"><img /></div>
</div>
</div>
以及以下javascript:
$(".child2 img").bind(
"click",
function ()
{
$(this).addClass("enabled");
}
);
这当前将“enabled”类添加到child2 div中的image标记,但我想将“enabled”类添加到parent1 div。
有什么想法吗?
答案 0 :(得分:3)
尝试:
$(".child2 img").click(function(){
$(this).closest(".parent1").addClass("enabled");
});
.closest
遍历DOM树并找到匹配的元素。
答案 1 :(得分:1)
您也可以使用.parents()
执行此操作$(".child2 img").click(function(){
$(this).parents(".parent1").addClass("enabled");
});
closest()
和parents()
之间的显着差异是从当前元素(即图像标记)遍历的最接近的开始。与此同时,父母开始从其直接父母中移出来自div2的div 。