2

データグリッドまたはリピーター内の行に HTML リンクがあると仮定すると、

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

また、jQuery ですべての DoSomethings のクリック イベントを処理したと仮定します。

$(".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 プロパティに何らかの値を追加しますが、宣言的に行います。

4

3 に答える 3

4

HTML5 の data- 属性を使用します。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'));
 });
于 2011-09-27T04:47:03.273 に答える
2

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

});
于 2011-09-27T04:42:40.433 に答える
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"
});
于 2011-09-27T04:46:01.353 に答える