相关疑难解决方法(0)

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

一般:

如何在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中是否存在遵循此逻辑的选择器语法:

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

谢谢

jquery jquery-selectors

35
推荐指数
1
解决办法
1万
查看次数

jQuery找到与属性最近的父链接

我想找findme一个孩子最近的属性链接.startpoint.结构体:

<ul>
    <li><a href="#">Point one</a></li>
    <li><a href="#" data-findme="yipi">Point one</a>
        <ul>
            <li><a href="#">Hello</a></li>
            <li><a href="#">Hello</a>
                <ul>
                    <li><a href="#" class="startpoint">My Startpoint</a></li>
                </ul>
            </li>
        </ul>
    </li>
</ul>
Run Code Online (Sandbox Code Playgroud)

JavaScript(jQuery):

$(document).ready(function(){
    console.log(
        $('.startpoint').closest("*[data-findme]")
    );
});
Run Code Online (Sandbox Code Playgroud)

由于问题是,该元素data-findme不是父元素而是父元素的另一个子元素,我的示例将找不到该元素.例子:http://jsfiddle.net/rjhgvxoe/

我怎样才能让它发挥作用?

html jquery list closest

6
推荐指数
2
解决办法
2万
查看次数

标签 统计

jquery ×2

closest ×1

html ×1

jquery-selectors ×1

list ×1