我怎么找到这个的父母?

时间:2011-08-09 10:22:32

标签: jquery

我试图获取此输入的父级但它不会,我最多得到标签。我做错了什么?

<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')

我得到长度1

EDIT2:错过了发布的链接 How to find a parent with a known class in JQuery?

-2减去什么?

4 个答案:

答案 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树所需的步骤。