2017-12-22 11 views
0

からのjQueryで動作していない属性:データ - ダッシュは、私はASP.NETカミソリforeachループでいくつかのデータ - ダッシュ属性を持つASP.NETカミソリのforeachループ

@foreach (var item in Model){ 
    <a class="btn btn-primary btn-sm EditBill" title="EDIT" 
       data-ItemId = "@item.Id"> 
       <i class="glyphicon glyphicon-edit"></i> 
      </a> 
} 

次のようにjQueryのコードは動作します:

$('.EditBill').click(function() { 
    var ItemId = $(this).attr('data-ItemId'); 
}); 

しかし、次の交換は(デバッガからのリターン '未定義')を動作していない:

$('.EditBill').click(function() { 
     var ItemId = $(this).data('ItemId'); 
} 

誰が助言することはできますか?ありがとう!

答えて

2

現代のブラウザは自動的に属性を小文字に変換し、方法では.data(key)のパラメータkeyでは大文字と小文字が区別されます。だから、またあなたはそれが動作

console.log($('.EditBill').data('itemid'), $('.EditBill')[0].dataset);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<a class="btn btn-primary btn-sm EditBill" title="EDIT" data-ItemId="Yahoooooooo"> 
 
       1 
 
      </a>

+0

同じにアクセスするためにElement.dataset propertyを使用することができ、すなわち.data('itemid')

小文字を使用!本当にありがとう!! – DennisL

関連する問題