查看这个简单示例on jsfiddle
<div id ="a" data-siteid="00005">00005 turns into:</div>
<div id="b" data-siteid="S00005">S00005 turns into: </div>
码
$('#a').append($('#a').data("siteid"));
$('#b').append($('#b').data("siteid"));
结果
00005 turns into:5
S00005 turns into: S00005
我想返回“00005”和“S00005”。
答案 0 :(得分:29)
尝试
$('#a').append($('#a').attr('data-siteid'));
$('#b').append($('#b').attr('data-siteid'));
每次尝试都将字符串转换为JavaScript值(包括布尔值,数字,对象,数组和null),否则将其保留为字符串。要将值的属性检索为字符串而不尝试转换它,请使用attr()方法。
答案 1 :(得分:3)
每次尝试都将字符串转换为JavaScript值 (否则,这包括布尔值,数字,对象,数组和null) 它留作一个字符串。要将值的属性检索为字符串 如果没有尝试转换它,请使用attr()方法。
答案 2 :(得分:1)
我知道这是一篇稍微过时的帖子,但另一种方法是将数据属性值转换为字符串:
$('#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]"