我有这个标记:
<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");
关于jQuery:选择器问题(最接近),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5443570/