实现jQuery";“最近的”;

实现jQuery";“最近的”;,jquery,Jquery,我使用这个jQuery函数查找类名为“viewCommentsExp”的父元素 我有这个功能,大约90%的点击率。但是,有时会随机选择具有此类名的所有div,而不是最近的div 我可以使用jQuery“最接近”来清理这些数据以更可靠地工作吗 不确定如何实现这一点。如果被单击的元素将有一个具有您可以使用的某些特征(例如,类名或其他属性)的父元素,则最接近的可能会有所帮助。这取决于您的HTML结构,您还没有显示它(在撰写本文时,我猜您可能会添加它,但我必须消失) 例如,如果元素将位于类“contai

我使用这个jQuery函数查找类名为“viewCommentsExp”的父元素

我有这个功能,大约90%的点击率。但是,有时会随机选择具有此类名的所有div,而不是最近的div

我可以使用jQuery“最接近”来清理这些数据以更可靠地工作吗


不确定如何实现这一点。

如果被单击的元素将有一个具有您可以使用的某些特征(例如,类名或其他属性)的父元素,则
最接近的
可能会有所帮助。这取决于您的HTML结构,您还没有显示它(在撰写本文时,我猜您可能会添加它,但我必须消失)

例如,如果元素将位于类“container”的某个对象中,并且“viewCommentsExp”是该“container”元素的后代,则:

var viewCommentsExp = $(this).closest(".container").find(".viewCommentsExp");
例如,如果您正在查找此结构中按钮的单击,则该操作将起作用:

<div class="container">
<input type="button">
<span class="viewCommentsExp">...</span>
</div>

...

…或按钮和“viewCommentsExp”都是“容器”的后代的任何其他结构(无论是否为同级)。

您应该使用jQuery函数
closest()

由于函数
closest
返回jQuery对象,因此无需再次包装它


parent.slideToggle()

您的HTML的结构是什么?
var viewCommentsExp = $(this).closest(".container").find(".viewCommentsExp");
<div class="container">
<input type="button">
<span class="viewCommentsExp">...</span>
</div>
var parent = $(this).closest('.viewCommentsExp');