我有一个问题。
我有两个链接。
示例:
< .a href =“/ one.html”id =“1” 类=“链接” 的onclick = “doSomething的(ID)” - 酮< ./一个>
和
< .a href =“/ Two.html”id =“2” 类=“链接” 的onclick = “doSomething的(ID)” >二< ./一个>
我不想使用“onclick”属性来获取attribut id
。
我想使用$(".link").attr(id)
获取attribut id
。
所以我的代码是:
$( “链接”)。单击(函数(){ 警报($(本).attr(ID)); })
问题是:我们如何知道 WHICH 链接? 1
或2
?为什么?
提前致谢。
答案 0 :(得分:2)
您错过了所需属性名称旁边的引号。
$(".link").click(function(){
alert($(this).attr("id"));
});
答案 1 :(得分:1)
如果使用$(".link").attr("id")
,您将获得jQuery对象返回的第一个。 jQuery对象将从头开始通过DOM,因此它将为1.
对于click函数,您应该获得this
的ID,就好像您使用了普通JS的this.id
。
请注意,要使用.attr("id")
,您需要在“id”周围加上引号。
另请注意,您已经使用onclick="doSomething(id)"
设置了点击处理程序。如果您想将链接的ID传递给onclick(不需要,因为您在函数中有this.id
),您可以执行doSomething(this.id)
。
这里有一些test code。
答案 2 :(得分:1)
对于你的链接,你不需要有doSomething(id)位 - jquery将使用click函数来处理这个:
所以你有:
< .a href =“#”id =“1”class =“link”>一个< ./。a>
和
< .a href =“#”id =“2”class =“link”>两个< ./。a>
对于你的jquery函数使用:
$(document).ready(function(){
$(“a.link”)。click(function(){alert($(this).attr('id'));})
});
你错过了id属性周围的引号。
答案 3 :(得分:0)
如果您查看代码,this
对象将告诉您将获得哪个ID。对于jquery .click()
的{{1}}方法,直接引用单击的DOM对象。因此,如果您执行this
,您将看到点击了DOM的类。
如果不相关可能会是
答案 4 :(得分:0)
特殊变量"这个"在单击事件时绑定到实际单击的任何元素。因此,您的代码将显示已单击的链接的ID。