我试图获取此输入的父级但它不会,我最多得到标签。我做错了什么?
<div class="input req">
<p>
<label>
<%= Html.TextBoxFor(model => model.Street, new { TABINDEX = 1,data_validate = "required|min[2]" })%>
</label>
</p>
<p class="msg">
</p>
</div>
JQUERY
alert($('#Street').parent('div.input').length);
编辑:我应该添加这是在厚箱中的所有工作,如果我采取parent('label')
EDIT2:错过了发布的链接 How to find a parent with a known class in JQuery?
-2减去什么?
答案 0 :(得分:1)
alert($('#Street').parents('div.input:first').length);
类似于:
alert($('#Street').closest('div.input').length);
父母只是寻找直接的父母。您应该使用上述方法之一
答案 1 :(得分:0)
alert($('#Street').parents('div.input').length);
^
parent()
会上升到一个级别,另一方面.parents()
会一直向上,直到它与选择器匹配。
在您的情况下,直接父级是元素p
,而不是div.input
。
答案 2 :(得分:0)
尝试
alert($('#Street').closest('div.input').length);
答案 3 :(得分:0)
试
alert($('#Street').parent('label').parent('p').parent('div.input').length);
Parent只查看正上方的元素,这样就可以采取爬上DOM树所需的步骤。