gpt4 book ai didi

jQuery .closest() 在自定义 jQuery 插件中返回多个结果

转载 作者:行者123 更新时间:2023-12-03 23:01:43 25 4
gpt4 key购买 nike

在破解我的空闲项目时,我偶然发现了一个令人费解的 jQuery 行为。

我编写了一个自定义验证插件并正在运行。在插件中,我想使用 .closest() 方法实现一些功能。奇怪的是,这个方法返回多个元素。

这里是一个示例代码:

this.closest(".control-group")
$(this).closest(".control-group");

以上代码行都选择类为“control-group”的所有四个元素。放入我的插件中的代码可以正常工作:

var element_ID = this.attr("id");
$("#" + element_ID).closest(".control-group")

上面选择了正确且唯一一个具有“control-group”类的元素。

我无法使用此“hack”,因为并非所有我想要验证的元素都设置了“id”属性,因此它并非在所有情况下都有效。

使用 jQuery 1.7.2(似乎是最新的稳定版本)。知道为什么会这样吗?

最佳答案

this 是一个至少包含 4 个 DOM 元素的 jQuery 对象,在其上调用 .closest 将检索最接近的 .control-group > 所有这些的元素。

this.attr("id") 将检索 jQuery 对象中第一个 dom 元素的 id,因此您可以直接执行 $(this[0]).closest ...

关于jQuery .closest() 在自定义 jQuery 插件中返回多个结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11030171/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com