2013-03-15 51 views
3

我正在構建的頁面的樣式是在每個鏈接之後都有一個小三角形。因此,我建立了一個腳本,在每個鏈接之後附加一個< span>。jQuery - 創建元素並追加到所有鏈接,除了一些

我正在創建一個新的跨度,並將其附加到所有錨點,但我不希望它在導航錨點中執行。

當然,我可以隱藏那些我不想附加spansin CSS,但肯定我可以調整我有什麼:

$('<span/>',{ 
    'class': 'im' 
    }).appendTo('a').not(".nav ul > li > a"); 

的不是()的一部分不能正常工作。

回答

7

較少的工作應該是

$('<span/>',{ 
    'class': 'im' 
    }).appendTo($('a').not(".nav ul > li > a")); 

演示:Fiddle

+1

upvoted這一個,只是因爲'。不是()建議使用''以上:不是' – PlantTheIdea 2013-03-15 15:21:18

+0

太棒了。我知道這很簡單。謝謝! – Scott 2013-03-15 15:21:47

+0

很好的提醒OP總是先驗證代碼。 – Terry 2013-03-15 15:22:14

1

not部分應該是在'a'選擇:

... 
.appendTo('a:not(.nav ul > li > a)') 

我建議你以某種方式標記您的a錨,簡化了選擇的工作,例如:

  1. navLink類到a s在.nav吧,
  2. 然後你的選擇器變成'a:not(.navLink)' ,並選擇節點將涉及jQuery的