2011-08-28 50 views
4

这应该是基本的,但由于某种原因,它不适合我。我只是想存储的ID当单击一个变量,它具有一定的阶级一个链接,以便作为一个例子:jquery-点击链接变量的店铺ID

<a href="#" id="this_id_here" class="only_this_class">Some link</a> 

我希望jQuery来得到上面的链接的ID并将其存储在一个变量。我试过$ this.attr(“id”)和$ this.id,但没有这个工作。

这就是我对jQuery的:

$(".only_this_class").click(function() { 

     var clickedId= $(this).attr("id"); 
     alert(clickedId); 
    }); 

我只是得到 “未定义” 每次。

+0

抱歉。这不是一个问题,只是我在提问时做了两次错字。 – cbr0wn

回答

3

我删除了this_class之间class="only_this _class"之间的空格,它正在为我工​​作。

Try this here

请看看jQuery Selectors

如果你在你的HTML有两个类,则语法是不同的:

$('.classA.classB') 

看一看How can I select an element with multiple classes?

+1

确定它确实工作。问题是,由于某种原因,我在函数的末尾运行了这个函数,所以我猜这个id在某个时刻已经改变了,但是当我在开始的时候就把它存储起来了。并感谢链接到jsfiddle,该网站真的很有用! – cbr0wn

0

$(".only_this _class")此选择器将在中查找_class标记元素。可能你正在寻找$(".only_this")这将选择有这个类的元素。尝试这个。

$(".only_this").click(function() { 

     var clickedId= $(this).attr("id"); 
     alert(clickedId); 
    }); 
2

NAVEED是正确的,如果你删除它的工作空间,因为如果有一个空格,HTML将在元素上放置两个类:only_this和_class。

如果你实际上寻找两种不同类型的,你应该有一个圆点代替空间,使其正常工作,如$(".only_this._class")

+0

我只需要1班,但感谢您的额外信息。我不知道。 – cbr0wn