子.startpoint
から属性findme
の最も近いリンクを見つけたいのですが。構造:
<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>
JavaScript(jQuery):
$(document).ready(function(){
console.log(
$('.startpoint').closest("*[data-findme]")
);
});
問題は、要素data-findme
が親要素ではなく、親の別の子であるため、私の例では要素が見つかりません。例: http://jsfiddle.net/rjhgvxoe/
どうすればそれを機能させることができますか?
次のようなセレクターが必要になります。
$('.startpoint').closest("li:has(*[data-findme])")
これは、属性<li>
を持つ要素を含む最も近いdata-findme
要素を照会します。そこからアンカーをつかむには
$('.startpoint').closest("li:has(*[data-findme])").children('[data-findme]')