jQuery:选择器问题(最接近)

标签 jquery selector closest

我有这个标记:

<div class=gui>
    <div class=form>
        <div class=textbox></div>
        <div class=textbox></div>
        <div class=textbox></div>
        <div class=selectbox></div>
        <div class=selectbox></div>
        <div class=button></div>
    </div>
</div>

我想做的是迭代 div 并找到它们对应的父级。 像:

文本框>表单

选择框>表单

按钮>表单

表单>图形用户界面

这是我的 jQuery 选择器:

var dParent = div.closest("div.form, div.gui");

它适用于文本和选择框,但不适用于表单。 奇怪的是,表单将自己报告为父级而不是 gui。

有什么想法可能是错误的吗?

谢谢

最佳答案

.closest() 将选择与选择器匹配的调用元素,因此当您调用 $('.form').closest('.form, .gui') 它将返回自己 .form 作为最接近的。因此,您只需从 .parent() 调用最接近的即可:

var dParent = div.parent().closest("div.form, div.gui");

See example →

关于jQuery:选择器问题(最接近),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5443570/

相关文章:

Mysql从表中选择最接近的匹配项

jquery - 如何将 2 个 Jquery UI 日期选择器与 Knockout 链接起来?

iphone - UIControl(添加目标:action:forControlEvents:) @selector arguments

objective-c - 使用 -performSelector : vs. 只是调用方法

jQuery - 如何按属性名称开头选择值

javascript - closestParent 方法总是返回 'undefined'

php - 限制标签中的字数

javascript - 无法使用简单的 jquery 更改输入值

jquery - 变化宽度时绘制不需要的小数的流程图

LISP - 没有 setq/setf 等的最接近函数