1
$("#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

4 回答 4

6

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

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

<a class="showKey" href="#" data-key="{{ customer.key }}">Show key</a>
于 2012-05-10T20:12:38.743 回答
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/

于 2012-05-10T20:13:12.520 回答
1

你不需要jQuery 的每个函数。

$("#showKey").click(function(){
   alert($(this).attr("value"));
});
于 2012-05-10T20:16:32.643 回答
0

您的代码的问题在于您使用

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

你应该简单地使用

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

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

于 2012-05-10T20:17:06.140 回答