我有一個表結構像這樣(注意與.browser類,並與其中一人兩個表數據點擊=「是」)選擇所有的孩子,除了那些明顯組與jQuery
<ul class="browser" data-click="yes">
<li><a href="#">Group 1</a>
<ul>
<li><a href="#">Item_1</a></li>
<li><a href="#">Item_2</a></li>
<li><a href="#">Item_3</a></li>
</ul>
</li>
<li><a href="#">Group_2</a>
<ul>
<li><a href="#">Item_4</a></li>
<li><a href="#">Item_5</a></li>
<li><a href="#">Item_6</a></li>
<li><a href="#">Group_3</a>
<ul class="browser">
<li><a href="#">Item_1</a></li>
<li><a href="#">Item_2</a></li>
<li><a href="#">Group_4</a>
<ul>
<li><a href="#">Item_1</a></li>
<li><a href="#">Item_2</a></li>
<li><a href="#">Item_3</a></li>
</ul>
</li>
<li><a href="#">Item_3</a></li>
</ul>
</li>
</ul>
</li>
</ul>
我想使用jQuery爲<ul class="browser" data-click="yes">
元素中的A元素分配點擊動作,但是我不希望此行爲進一步傳播到子元素<ul class="browser">
中的A元素。此外,對於這兩個列表,保留class .browser是非常重要的。
我試圖使用方法:以下列方式
$("body").on("click", "UL.browser[data-click='yes'] :not(.browser) A", function (event) {
// do something
});
等諸多變種沒有選擇器,但沒有成功。由於我正在動態地改變結構,因此使用該結構將事件附加到主體對我也很重要。
我在這裏發現了這個問題的很多變種,但是沒有一個是完全相同的,他們沒有爲我工作。我覺得我誤解了:不是以某種方式選擇,但是我仍然無法做到。
謝謝,這就是它。我將不得不更深入地瞭解以下行爲:not operator – LNovak