从jQuery中的复选框获取所有者表单

Ben*_*enM 2 html javascript jquery

有没有一种简单的方法在jQuery中返回一个深层嵌套的复选框(或输入)元素的所有者表单?这是我的意思的一个例子:

<form>
    <table>
        <thead>
            <tr>
                <td>123</td>
            </tr>
        </thead>
        <tfoot>
            <tr>
                <td><input type="checkbox" class="checkall" /></td>
            </tr>
        </tfoot>
    </table>
</form>
Run Code Online (Sandbox Code Playgroud)

然后我有以下jQuery代码:

$('checkbox.checkall').each(function() { 
    // Access form element of the checkbox here
});
Run Code Online (Sandbox Code Playgroud)

在上面的示例中,我想获取复选框所属的表单.从本质上讲,我可以使用链式parent()方法执行此操作,但复选框可能并不总是与根表单元素的嵌套深度相同.

对不起,如果不清楚,但很难解释.

Bru*_*oLM 5

获取最接近的表格

$("input[type=checkbox]").closest("form");
Run Code Online (Sandbox Code Playgroud)

来自jQuery API:

描述:获取与选择器匹配的第一个祖先元素,从当前元素开始并逐步向上遍历DOM树.

.closest(选择器)

selector:包含与元素匹配的选择器表达式的字符串.