このシンプルなセレクターの問題は数時間で苦労しており、明らかに何かが欠けているはずです。私は<ul>
を持っていて、<li>
のいくつかは入れ子になっています。<ul>
sです。各<li>
にはリンクが含まれていますが、これをクリックすると(ナビゲートするのではなく)機能を実行したいのですが、重要なのは、親の<ul>
に含まれるリンクでのみ起こり、ネストされた<ul>
のリンクはありません。jQueryセレクタがリスト要素内のすべてのアンカーを選択するのはなぜですか?
HTML::
<ul>
<li>
<a href="dontleavethis.page">A link</a>
<ul>
<li><a href="navigate.there">A nested link</a></li>
<li><a href="navigate.somewhere">Another nested link</a></li>
</ul>
</li>
</ul>
のjQuery:
$('li:has(ul) a').click(function() {
bla bla bla...
return false;
});
事が、どんなに私フレーズ私のセレクタ、私はトリガーから、ネストされた<ul>
内のリンクを止めることはできませんされ、簡単なあなたは思うだろうクリックハンドラそれらは明らかにセレクタの":has(ul)"
基準に一致しませんが、何らかの理由でハンドラがまだ接続されています。私はここで間違って何をしていますか?
ああ、それは理にかなっています!ありがとう! –