我正在尝试使用jQuery获取数据*。我的问题是jQuery将我的数字字符串作为数字读取,因此会丢弃前导零。
HTML
<tr data-string-number="0123456789">... (website layout, jk) ...</tr>
jQuery 1.7.2
var string_number = $('#selector').data('string-number');
// string_number == 123456789
// string_number != '0123456789'
看起来很简单但总是会降低前导零。
data-string-number
始终是一个数字,可能有也可能没有前导零。目前它有一个标准长度,但我现在不能说这是否会保持正确。
目前唯一的想法是在前面添加非数字并立即将其删除。这让我感到很难过,让我感到难过。
任何想法都赞赏。
感谢。
答案 0 :(得分:21)
使用此:
$('#selector').attr('data-string-number')
.data()
方法按设计进行数据转换 。 .attr()
方法只是按原样返回属性(作为字符串)。请注意,使用.attr()
时,您需要提供包含"data-"
前缀的属性的全名。
答案 1 :(得分:2)
我知道这已经过时了,但我有两种方法可以使用.attr()以字符串形式访问数据。
<!-- Force a String by breaking the parser Remove Quotes later
or Use Object Below -->
<li data-tmp='"0123456789"'>Data as a String: </li>
<li data-tmp='{"num":123456789,"str":"0123456789"}'>Data as a Object: </li>
现在您可以使用jQuery .data()方法访问它们。
请参阅此小提琴来说明http://jsfiddle.net/KUrJ2/。
答案 2 :(得分:1)
获取标准attr()
访问者的属性。
jQuery尝试猜测类型,并在data()
属性上使用data-*
时对其进行转换。我们知道0
中的Number
是无效的String
而不是{{1}}。
答案 3 :(得分:0)
使用jquery attr()