5

在下面的代码和此处的演示http://jsfiddle.net/jasondavis/vp2YN/3/中,您可以看到我需要获取单击项目的 ID 属性并将其分配给 Javascript 中的变量。

现在代码返回第一个项目的 ID 名称,无论单击哪个项目。

在 Javascript 中,您可以看到我已将这一行注释掉...

var clickedID = this.attr("id"); 当我使用那条线时,我收到一条错误消息:Object has no method 'attr'

请帮我获取点击链接的 ID 名称并将其分配给变量

HTML

<a href="#" style="display:block" class="button insertcolumn" id="one_half">2 Columns</a>

<a href="#" style="display:block" class="button insertcolumn" id="one_third">3 Columns</a>

<a href="#" style="display:block" class="button insertcolumn" id="one_fourth">4 Columns</a>​

Javascript/jQuery

jQuery('.insertcolumn').click(function(){

    var clickedID = jQuery('.insertcolumn').attr("id");
    //var clickedID = this.attr("id");

    alert(clickedID);

});​

演示http://jsfiddle.net/jasondavis/vp2YN/3/

4

1 回答 1

9

您必须使用 jQuery 包装器引用您单击的那个!

你想用

$(this).attr('id');

要获取 id(无需无缘无故地遍历 DOM),最好只调用 object id

this.id; 

但是要访问属性,无论属性的类型如何,并且取决于属性的名称,请使用以下代码。

jQuery('.insertcolumn').click(function(){

    var clickedID = $(this).attr('id');


    alert(clickedID);

});​
于 2012-09-15T20:45:47.750 回答