JS中的简单数学加法给出了错误的结果

时间:2015-06-29 15:05:21

标签: javascript jquery math

我有这个奇怪的问题,我无法理解。我尝试在元素列表中找到最大数字,这些元素的各自编号具有data-index属性。但是当迭代它们时,JS坚持认为9 < 10是假的 看到这个小提琴:http://jsfiddle.net/1ztbxbjx/

我做错了什么?

我无法使用

for (i = 0; i < $('div[data-index]'; i++))

有时列表中会出现乱码(例如1,2,3,4,5,25,31)。

3 个答案:

答案 0 :(得分:2)

您需要解析id,否则您需要比较字符串。以下是使用parseInt()

example

答案 1 :(得分:1)

使用此

if (indexCount < current) {

而不是

-Xms100m -Xmx3000m -XX:MaxHeapFreeRatio=60 -XX:MinHeapFreeRatio=20 -XX:+UseConcMarkSweepGC -XX:+CMSIncrementalMode

答案 2 :(得分:1)

将retreived id解析为Number,它应该可以正常工作,试试这个:

var current = Number($(this).attr('id'));

在JSFiddle中测试过,在这一行更改后它的工作正常。

干杯!