以下内容会弹出一个警告框:211466719468855300
。为什么会发生这种情况,即使我尝试将其转换为String?我怎样才能准确地阅读它?
HTML:
<a class="delete-link" data-id="211466719468855298">Delete</a>
JS:
$('.delete-link').click(function(e) {
var $item =$(this);
var itemID = String($item.data('id'));
alert(itemID);
});
小提琴: http://jsfiddle.net/zUbym/1/
答案 0 :(得分:8)
这种情况有两个原因:
如果您直接使用“.attr()”获取属性值,则可以避免数字转换,但您必须将其保留为字符串。或者,您可以使用一些非数字字符(“_”或其他)为数据值添加前缀,以防止jQuery试图帮助您。