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

dud*_*ude 6 html jquery list closest

我想找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/

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

jAn*_*ndy 12

你需要一个像这样的选择器:

$('.startpoint').closest("li:has(*[data-findme])")
Run Code Online (Sandbox Code Playgroud)

这将查询<li>包含具有该属性的元素的最近元素data-findme.从那里抓住锚

$('.startpoint').closest("li:has(*[data-findme])").children('[data-findme]')
Run Code Online (Sandbox Code Playgroud)


Mil*_*war 5

您需要使用:

 $('.startpoint').closest("ul").find('[data-findme]')
Run Code Online (Sandbox Code Playgroud)

演示