2012-08-05 79 views
1

我有一些代碼鏈接到2個不同的頁面。當你在一個頁面上時,另一個是鏈接。例如如果<a>是最後一個孩子執行代碼

<div id="options"> 
<a href="#">other</a> 
<p>current</p> 
</div> 

<div id="options"> 
<p>current</p> 
<a href="#">other</a> 
</div> 

我想執行if語句如果a是最後一個孩子但不確定正確的語法嗎? 例如

if {/* #options a is last child*/} 
{ 
    alert("hello"); 
} 

回答

2

如果一個元素通過使用.is()函數的僞選擇器相匹配可以檢查:

if ($('#options a').is(':last-child')) { 
    alert('hello'); 
} 

它最終被相當可讀。

演示:http://jsfiddle.net/acWUT/

2

那麼首先你有兩個div具有相同options ID - 不會在所有的工作。

但一般來說,要獲得頁面上的最後一個,你可以這樣做:

var lastA = $("a:last")[0]; 

,然後比較,在側面你的點擊處理程序:

if (lastA === this) 
{ 
    alert("hello"); 
} 
+1

感謝,瞭解有關IDS但他們實際上在不同的頁面上,所以在一頁上是第一個,而另一個是最後一個。但你的解決方案將運作良好。 – ak85 2012-08-05 22:44:25

+0

@ ak85 - 很高興幫助:) – 2012-08-05 22:45:13