我在ASP.NET Razor foreach循环中有一些data-dash属性:
@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');
});
但是以下替换不起作用(从调试器返回'undefined'):
$('.EditBill').click(function () {
var ItemId = $(this).data('ItemId');
}
任何人都可以建议吗?谢谢堆!
现代浏览器自动将属性转换为小写,而在方法.data(key)
中,参数key
区分大小写。所以使用小写即.data('itemid')
此外,您可以使用Element.dataset
property访问相同的
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>