2010-09-03 22 views
1

我目前接管了以「用戶」開頭的頁面上的任何鏈接:接管所有鏈接 - 除了某些類(。不是?)

$('a[href^="https://stackoverflow.com/users/"]').live('click', function(event) { 

......然而,這是一個小貪婪。我想排除任何不屬於「版本」類的「東西」的鏈接。我試過:

$('a[href^="https://stackoverflow.com/users/"]').not('div.versions a').live('click', function(event) { 

......但是這打破了整個街區。我的下一個猜想是因爲「活着」而被打破 - 隨着事件的流逝。

任何想法?有一個更好的方法嗎?

+0

打破整個區塊,因爲在點擊其中任何一個時永不會觸發事件? – BoltClock 2010-09-03 15:07:54

+0

是的,這是正確的。 – jmccartie 2010-09-03 15:13:53

+0

原因是jQuery依賴'.live()'的正確選擇器來工作。當收到點擊事件時,它會將元素與選擇器進行比較。當你使用'.not('div.versions a')'時,選擇器最終看起來像'a [href^=「/ users /」]。not(div.versions a)',它不匹配任何東西。 – user113716 2010-09-03 15:33:18

回答

3

嘗試在主選擇合併not

$('a[href^="https://stackoverflow.com/users/"]:not(div.versions a)').live('click', function(event) { 

入住這裏還有:.not() with .live() not working,似乎是同樣的問題。

相關問題