我知道这是一篇稍旧的帖子,但您可以采用另一种方法将数据属性值转换为字符串:
$('#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]"