假设我在数据网格或转发器中的行中有HTML链接
<a href="javascript:void(0);" class="DoSomething">DoSomething</a>
现在也假设我已经在jQuery中处理了所有我的DoSomethings的click事件
$(".DoSomething").click(function (e) {
//Make my DoSomethings do something
});
将数据传递给依赖于所点击链接的点击事件的正确技巧是什么?
如果没有jQuery,你通常会做这样的事情。
<a href="javascript:void(0);" class="DoSomething" onclick="DoSomething('<%# Eval("SomeValue") %>');">DoSomething</a>
但这种技术显然不适用于jQuery案例。
基本上我理想的解决方案会以某种方式为点击链接的jQuery.Data属性添加值,但是以声明方式这样做。
答案 0 :(得分:4)
使用HTML5数据属性。 jQuery支持内置于1.4.3 +
http://api.jquery.com/data/#data2
<a href="#" class="product-link" data-productid="77">click here</a>
$('.product-link').click(function (e) {
alert($(this).data('productid'));
});
答案 1 :(得分:2)
您可以使用attr()函数。
$("#Something").attr("your-value", "Hello World");
$("#Something").click(function (e) {
//Make my DoSomethings do something
var value = $(this).attr("your-value");
alert(value); // Alerts Hello World
});
答案 2 :(得分:2)
我的问题不清楚,但可能会有所帮助
$(".DoSomething").click(function (e) {
//Make my DoSomethings do something
$(this).data("key","value");
//later the value can be retrieved like
var value=$(this).data("key");
console.log(value);// gives you "value"
});