Why.closest(选择器)返回多个值
Why .closest(selector) returns more than one value?
这是我的html的一部分。(使用ejs编写)
<div class="objAddDiv">
<tr><td><button class="addObj">Do this action</button></td></tr>
<table><div class="objects"></div></table>
</div>
我在这个页面上有几个objAddDivdiv。每个都有相同的内部结构。我使用.append()
向.objects
添加更多的ej。我很难只添加与按钮位于同一div内的.objects
div。我试着做以下
".addObj click": function(el, element){
$(".addObj").closest(".objAddDiv").find(".objects").append(//my ejs utility here)
}
问题是$(".addObj").closest(".objAddDiv")
返回页面上的所有.objAddDiv
。我看过.closest
的jquery文档,它说最接近应该只返回一个元素。有更好的方法吗?我做错了什么。(顺便说一句,这些不是我真正的类名)
这是因为您在每个具有类"addObj"的元素上调用该方法:
对于集合中的每个元素,通过测试元素本身并在DOM树中遍历其祖先,获得与选择器匹配的第一个元素。
因此,您可以得到与每个addObj
元素最接近的objAddDiv
。
假设你在按钮的点击事件中这样做,使用这个来获得正确的元素:
$(this).closest(".objAddDiv").find(".objects").append(//my ejs utility here)
以下是我找到的答案(对于下一个来的人),我需要使用我传递到函数中的元素:
el.closest(".objAddDiv").find(".objects").append(//ejs append stuff)
相关文章:
- 节点导出返回一个空对象
- ES6构造函数返回基类的实例
- 监视函数从服务返回不起作用,但作用域函数起作用
- 控制台返回var不是't定义,但它是
- 从函数返回角度承诺
- Javascript返回值只在循环中返回一次
- 从控制器返回后Ajax启动事件激发
- CKFinder 3为所选文件返回错误的URL
- 如何在d3.js中返回路径的y坐标
- 如何从jquery函数返回变量
- Angular js-返回一个包含类似
- JSONP请求返回结果,但也触发error_callback
- 如何使用Spring MVC将Facebook返回的响应数据保存在Java类中
- 从HTTPGET返回一个自定义对象列表,以便在Angular 2应用程序中使用
- JS验证ajax返回的html中的表单数据
- 使用谷歌应用程序脚本将服务器端数据表返回到客户端
- AJAX:$_GET不返回任何值
- 从Javascript方法返回全局变量
- Why.closest(选择器)返回多个值
- 新添加的元素无法使用 jQuery API closest() 在 DOM 树中向上遍历其祖先,返回“undefined