我想知道使用$ 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的新手,所以我想保持代码简单。谢谢!
答案 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
});
答案 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)));
});