jquery数据属性删除前导零

Ibr*_*mar 17 jquery html5 custom-data-attribute

我有这个HTML.

<img src="2.png" alt="Pending" data-number="00991" data-status="0">
Run Code Online (Sandbox Code Playgroud)

我正在使用以下jQuery来获取值.

var number = $(this).find('img').data('number');
Run Code Online (Sandbox Code Playgroud)

上面的jQuery代码使用非前导零获取值,例如上面的代码只会取991而不是00991,出了什么问题?

Jos*_*osh 33

你可以使用'attr':

var number = $(this).find('img').attr("data-number");
Run Code Online (Sandbox Code Playgroud)


mu *_*ort 17

精细手册:

每次尝试都将字符串转换为JavaScript值(这包括布尔值,数字,对象,数组和null),否则它将保留为字符串.要将值的属性检索为字符串而不尝试转换它,请使用该attr()方法.

所以jQuery认为代码是一个数字并且丢弃了前导零.使用attr('data-number')如jQuery是想为您的数据属性太聪明了.

  • @Ibrahim:你应该接受Josh的,他先于我. (3认同)