jQuery检查每个链接的点击

时间:2012-05-10 20:08:27

标签: javascript jquery

$("#showKey").each(
    $(this).click(function(){
        alert($(this).attr("value"));
    })
);

<a id="showKey" href="#" value="{{ customer.key }}">
   <span class="icons icon-key"></span>
   Show key
</a>

警报给出和未定义的输出,只是'未定义'。我有一个客户列表,点击#showKey应该显示被点击的客户的密钥。

我的代码出了什么问题?

4 个答案:

答案 0 :(得分:6)

您不能拥有多个具有相同ID的元素 - 请改用类。此外,您不需要调用.each - 而是使用类选择器:

$(".showKey").click(function(){
     alert($(this).data("key"));
);

<a class="showKey" href="#" data-key="{{ customer.key }}">Show key</a>

答案 1 :(得分:3)

您可以使用data属性:

<a id="showKey" href="#" data-value="{{ customer.key }}">
   <span class="icons icon-key"></span>
   Show key
</a>


$("#showKey").click(function(){
    alert($(this).data("value"));
})

http://jsfiddle.net/LKArX/

答案 2 :(得分:1)

您不需要jQuery each功能。

$("#showKey").click(function(){
   alert($(this).attr("value"));
});

答案 3 :(得分:0)

您的代码存在问题在于

$("#showkey").each({...});

您应该只使用

$("#showkey").click({function(){
   alert( $this).val() );
   }
});

将click事件绑定到每个showkey id'd元素。