从子元素获取某个类的父级

时间:2015-01-26 09:25:39

标签: jquery html css

我使用jquery droppable。

当我放下一个元素时,我得到了被删除元素下面的元素:

var elementBeneathDroppedElement = document.elementFromPoint(event.clientX, event.clientY);

但elementBeneathDroppedElement只是整个div的一个片段,带有MULTIPLE div。这真的取决于用户放弃他的元素的位置以及我得到的元素作为下面的元素。

这就是我放弃其他元素的容器上典型元素的结构:

<div class="refOptionItem" >

    <div class="refOptionItemContent text-center text-uppercase" style="color: @Model.Item1.CssColor">
        <div>
            <img src="@(Model.Item1.IconName)" alt="@Model.Item1.IconName" />
        </div>
        <div>@Model.Item1.Name</div>
    </div>
</div>

我得到的是图片标签,但我想要的是带有“refOptionItem”类的顶级div。

我试过了:

var topParentDiv = $('.refOptionItem', elementBeneathDroppedElement );
 // restrict to context is not correct I guess

如何从我拥有的elementBeneathDroppedElement开始搜索具有某个类的父级。

2 个答案:

答案 0 :(得分:2)

使用.closest()

  

描述:对于集合中的每个元素,通过测试元素本身并遍历DOM树中的祖先来获取与选择器匹配的第一个元素。

代码

var topParentDiv = $(elementBeneathDroppedElement).closest('.refOptionItem');

答案 1 :(得分:0)

使用.parent()

  

描述:获取当前匹配元素集中每个元素的父元素,可选择通过选择器进行过滤。

var p = $(elementBeneathDroppedElement).parent('.refOptionItem');