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)
您需要使用:
$('.startpoint').closest("ul").find('[data-findme]')
Run Code Online (Sandbox Code Playgroud)