繁体   English   中英

声明性地为HTML链接设置jQuery.Data属性

[英]Declaratively setting jQuery.Data property for a HTML link

假设我在数据网格或转发器中的行中有HTML链接

<a href="javascript:void(0);" class="DoSomething">DoSomething</a>

现在还假设我已经在jQuery中处理了所有我的DoSomethings的click事件

$(".DoSomething").click(function (e) {
    //Make my DoSomethings do something
});

将数据传递给依赖于单击链接的click事件的正确技术是什么?

没有jQuery,你通常会做这样的事情。

<a href="javascript:void(0);" class="DoSomething" onclick="DoSomething('<%# Eval("SomeValue") %>');">DoSomething</a>

但是这种技术显然不适用于jQuery案例。

基本上我的理想解决方案会以某种方式为点击链接的jQuery.Data属性添加值,但是以声明方式这样做。

使用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'));
 });

您可以使用attr()函数。

http://api.jquery.com/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

});

你的问题对我来说并不清楚,但可能会有所帮助

$(".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"
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM