jQuery数据属性是前导零的切割

jQuery data-attribute is cutting of leading zero

本文关键字:数据属性 jQuery      更新时间:2023-09-26

我正在尝试用jQuery获取数据*。 我的问题是jQuery将我的数字字符串读取为数字,因此删除了前导零。

.HTML

<tr data-string-number="0123456789">... (website layout, jk) ...</tr>

j查询 1.7.2

var string_number = $('#selector').data('string-number');
// string_number == 123456789
// string_number != '0123456789'

看起来很简单,但这总是会删除前导零。

data-string-number总是一个数字,可能有也可能没有前导零。 目前它有一个标准长度,但我现在不能说这是否会保持不变。

目前唯一的想法是用非数字作为前缀并立即将其删除。 这感觉很笨拙,让我很难过。

任何想法都值得赞赏。

谢谢。

使用这个:

$('#selector').attr('data-string-number')

.data()方法通过设计进行数据转换。.attr() 方法只是按原样返回属性(作为字符串)。请注意,使用 .attr() 时,您需要提供属性的全名,包括"data-"前缀。

我知道

这很旧,但我有 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/。

使用标准 attr() 访问器获取属性。

jQuery尝试猜测类型并在data-*属性上使用data()时对其进行转换。众所周知,领先的0Number中是微不足道的,但在String中却不是。

使用 jquery attr()

http://jsfiddle.net/duerq/