나는 UI 요소의 목록 정렬하려고 해요 요소를 정렬 나타납니다,jQuery를 무작위로
$('.stuff').sort(function(a,b) {
a = $(a).attr('data-date');
b = $(b).attr('data-date');
console.log(a + " > " + b);
console.log(a > b);
return a >= b;
}).appendTo('#stuff_container');
이
있는 HTML이
<div class='stuff' data-date='1278395142'>...</div>
<div class='stuff' data-date='1378395142'>...</div>
같은 내가 거기에 로그인 넣으면 모양을 I 비교가 사실 일 때 true를 반환하는 것이 올바르게 비교되고 있음을 알 수 있습니다. 그러나 UI에서 정렬을 실행할 때 요소가 임의로 나타납니다. 반복적으로이 코드를 실행하면 순서가 무작위로 유지됩니다. data-attrs가 모두 순서가 맞지 않다는 것을 알면 디버그 콘솔에서이를 확인할 수 있습니다.
Google에서 무슨 일이 벌어지고 있는지에 대한 어떤 언급도 찾을 수 없습니다. 내일 jQuery에 대해 더 깊이 들어가 겠지만, 이것을 밖으로 던질 것이라고 생각합니다. jQuery 1.4.2 (예 ..) 고마워!
그냥 그렇지 않은 수치, lexigraphically 정렬 할 수 있습니다주의하십시오. 무작위로 분류한다면 문제는 아니지만 여전히 그렇습니다. –
Dave가 말했듯이, 숫자가 아닌 문자열을 비교합니다. 당신은 정수 앞에'+'를 붙일 수 없다. – mowwwalker
콘솔 출력과 DOM을 실행하면 도움이 될 것입니다 ... 아마도 jsfiddle에 올려 놓을 수 있을까요? –