如何获取类的属性?

时间:2011-03-21 13:53:33

标签: jquery class attributes click selector

我有一个问题。

我有两个链接。

示例:

  

< .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 链接? 12?为什么?

提前致谢。

5 个答案:

答案 0 :(得分:2)

您错过了所需属性名称旁边的引号。

$(".link").click(function(){ 
  alert($(this).attr("id")); 
});

直播示例:http://jsfiddle.net/nxQmH/

答案 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的类。

如果不相关可能会是

http://remysharp.com/2007/04/12/jquerys-this-demystified/

答案 4 :(得分:0)

特殊变量"这个"在单击事件时绑定到实际单击的任何元素。因此,您的代码将显示已单击的链接的ID。