选择父节点jquery

时间:2013-11-19 18:31:15

标签: javascript jquery

考虑以下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。

有什么想法吗?

2 个答案:

答案 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


DEMONSTRATION