【发布时间】:2014-11-25 09:18:15
【问题描述】:
为什么data-value="2.0" 的值转换为String 而data-value="2.5" 的值转换为Number?
我可以在我的职能范围内很好地处理这个问题。我只是想更多地了解 Javascript 如何处理数字和字符串。这让我措手不及。
<a data-value="2.0">2.0</a>
<a data-value="2.5">2.5</a>
$("a").click(function() {
alert(typeof $(this).data( "value"));
});
【问题讨论】:
-
我不知道为什么会这样,但你可以看到以
0结尾的浮点数总是被假装为字符串。可能是因为最后一个0无关紧要,因此被解释为文本。例如:2.5是数字,2.50是字符串。 -
jQuery 的
.data方法将尝试转换data-*属性中的任何内容 - 如果您希望它作为原始字符串值,请使用.attr("data-*") -
@tymeJV 感谢您的提醒!
-
fyi,我在一个项目中使用 jquery 1.7.1,当数据属性为“6.00”时它返回“6”。
标签: javascript jquery string html jquery-data