Javascript Jquery-在拆分之前转换类型
我有以下html代码片段:Javascript Jquery-在拆分之前转换类型,javascript,jquery,variables,types,split,Javascript,Jquery,Variables,Types,Split,我有以下html代码片段: <div id="container" data-id="20.20"></div> 所以我的情况是: 我需要变量“foo”是字符串,因为我想使用Jquery split函数 我的问题是: 为什么“foo”首先作为“number”返回,我认为它直接保存为“string” 我的方法是更改变量类型的好方法还是应该使用其他方法 尝试猜测数据属性的数据类型: 每次尝试都会将字符串转换为JavaScript值 (这包括布尔、数字、对象、数组和null)
<div id="container" data-id="20.20"></div>
所以我的情况是:
我需要变量“foo”是字符串,因为我想使用Jquery split函数
我的问题是:
20.2
将被转换为数字,但20.20
将不会被转换
话虽如此,使用.attr()
获取值而不进行转换。或者,使用以下任一方法将数字(或几乎任何对象)转换为字符串:
expr.toString()
String(expr)
"" + expr
要分隔小数部分和整数部分,可以使用按位
|
删除小数,强制将数字设置为整数。然后从原始值中减去它得到小数:
var foo = $(this).data("id"); //20.20
var integer = foo | 0; //20
var decimal = foo - integer; //0.20
对我来说,它最初以字符串的形式返回: 也许您正在使用数字设置数据?例如:
$el.data('id', 20.20);
如果是这样,请将其更改为设置一个字符串,也许它将作为字符串返回:
$el.data('id', '20.20');
如果您想要未解析的值,请考虑使用.Atft(‘DATA ID’)。您给出了最佳答案。谢谢
$el.data('id', '20.20');