数据属性变为整数
看看这个关于jsfiddle的简单例子
00005 turns into: S00005 turns into:
码
$('#a').append($('#a').data("siteid")); $('#b').append($('#b').data("siteid"));
结果
00005 turns into:5 S00005 turns into: S00005
我想返回“00005”和“S00005”。
尝试
$('#a').append($('#a').attr('data-siteid')); $('#b').append($('#b').attr('data-siteid'));
来自jQuery文档
每次尝试都将字符串转换为JavaScript值(这包括布尔值,数字,对象,数组和null),否则它将保留为字符串。 要将值的属性检索为字符串而不尝试转换它,请使用attr()方法。
每次尝试都将字符串转换为JavaScript值(这包括布尔值,数字,对象,数组和null),否则它将保留为字符串。 要将值的属性检索为字符串而不尝试转换它,请使用attr()方法。
从这里: http : //api.jquery.com/data/#data-html5
我知道这是一个稍微过时的post,但另一种方法是将数据属性值转换为字符串:
$('#a').data("siteid").toString()
要么
$('#a').data().siteid.toString()
一些如何工作的例子:
> (12345).toString() "12345" > (14.5).toString() "14.5" > (-14.5).toString() "-14.5" > "bob".toString() "bob" > (true).toString() "true" > ({a: "b"}).toString() "[object Object]" >(function(){console.log("bob")}).toString() "function (){console.log("bob")}"
示例中的括号是为了避免分配变量,因为您不能直接在数字上直接使用#toString
: 123.toString()
,但是当它分配给变量或括在括号中时可以: (123).toString()
。
请记住,您将无法将null或undefined转换为字符串。
数组以及未定义和空值也会发生一些有趣的事情:
> (["bob", 123, true, null, undefined, this]).toString() "bob,123,true,,,[object Window]"