如何选择与选择器匹配的第一祖先?

Zac*_*ach 35 jquery jquery-selectors

一般:

如何在jQuery中选择元素的第一个匹配祖先?

示例:

拿这个HTML块

<table>
    <tbody>
        <tr>
            <td>
                <a href="#" class="remove">Remove</a>
            </td>
        </tr>
        <tr>
            <td>
                <a href="#" class="remove">Remove</a>
            </td>
        </tr>
    </tbody>
</table>
Run Code Online (Sandbox Code Playgroud)

我可以使用此jQuery代码单击"删除"来删除表中的行:

$('.remove').click(function(){
    $(this).parent().parent().hide();
    return false;
});
Run Code Online (Sandbox Code Playgroud)

这有效,但它非常脆弱.例如,如果有人将其<a>放入a中<div>,它就会破坏.jQuery中是否存在遵循此逻辑的选择器语法:

"这是一个元素,现在找到与某些选择标准相匹配的最接近的祖先并将其返回"

谢谢

Kob*_*obi 56

那将是closest:

$(this).closest('tr').hide();
Run Code Online (Sandbox Code Playgroud)