单击时获取元素或ID的数量?

时间:2011-03-10 20:38:27

标签: jquery

我想知道使用$ this点击它时是否可以获得<a>标记的数量?假设我有一个链接列表,我希望按照它的顺序获取数字,并使用类名someLinks

<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的新手,所以我想保持代码简单。谢谢!

4 个答案:

答案 0 :(得分:1)

不完全确定您对标记或其编号的含义,但如果您正在寻找一种简单的方法来跟踪某些类名称的点击,您可以执行以下操作:

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

答案 1 :(得分:1)

使用.index() -function根据列表计算元素索引 - 与$(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/

答案 2 :(得分:0)

您可以使用.index(element)来获取另一个选项中的一个元素的位置,即I.E:

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);
});

答案 3 :(得分:0)

获取THIS元素的索引

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

});