2011-03-10 82 views
0

我不知道是否有可能得到一個<a>標籤的數量,當你點擊$ this?可以說我有一個鏈接列表,我想在它inbetwen用DIV的順序號的類名someLinks點擊時獲取元素或ID的數量?

<div class="someLinks"> 
...="#" id="1">some text or an image</a> 
...="#" id="2">some text or an image</a> 
...="#" id="3">some text or an image</a> 
</div> 

(抱歉,我不能包括標籤)

也許它可以用這樣的代碼來完成$(".someLinks:eq(???? 或者如果通過使用$ this或者attr來點擊<a>標籤,有什麼方法可以獲得ID的編號?

有點幫助!我是jQuery的新手,所以我想保持代碼簡單。謝謝!

+1

看來你想'指數()'(http://api.jquery.com/index/),但我不知道。你想要一組元素的索引嗎? – 2011-03-10 20:40:27

+0

只是FYI - 'id'不能根據HTML規範開頭的數字......如果你像管道上的mysql ID那樣傳遞數據,你可以使用'data-id =「1」'... – gnarf 2011-03-10 20:47:05

回答

1

不完全確定你的意思是標籤或它的數量,但如果你正在尋找一種簡單的方法來跟蹤某一類名的點擊,你可以做這樣的事情:

$('.someLinks').click(function() { 
    alert($(this).attr('id')) 
}); 
+0

大家好!我做了這個,它的工作:var index = $(「。someLinks a」)。index(this);是好是壞? – 2011-03-10 21:04:09

+0

它的好..可能想檢查答案,但是確切地說,雖然.. – amosrivera 2011-03-10 21:36:40

0

您可以使用.index(element)來獲得另一個選擇一個元素的位置,即:

var allLinks = $(".someLinks a"); 

allLinks.click(function(e) { 
    alert("You clicked on the "+(allLinks.index(this))+" a tag"); 
    e.preventDefault(); 
}); 

你還問有關獲取的元素ID:

allLinks.click(function(e) { 
    if (this.id) alert("The A tag you clicked on was #"+this.id); 
}); 
0

得到這個元素的索引

$('.someLinks a').live('click',function(){ 
    alert($('.someLinks').index($(this))); 

}); 
1

您使用.index() - 函數來計算基於一個列表 - 與$(this)相結合的元素索引 - 被點擊的鏈接 -

$("a").click(function(){ //when a link is clicked 
    var linkList = $(".someLinks").find("a"); //Get list of links inside div 
    var index = linkList.index($(this))); //Search for this in the list 
    alert(index); //alert 
}); 

在線例如:http://jsfiddle.net/7kvMF/1/