jsは並べ替えを実現し、

1714 ワード

以前テストしたsortElementsですが、これを使ってもいいです.プロジェクトに置いても使えません.このため、並べ替え方法を変更しました.この並べ替え方法は分かりやすいです.
html
<div id="original">
  <div timestamp="99">991</div>
  <div timestamp="999">9991</div>
  <div timestamp="12">121</div>
  <div timestamp="11">111</div>
  <div timestamp="8">81</div>
  <div timestamp="7">71</div>
  <div timestamp="10">101</div>
  <div timestamp="9">91</div>
  <div timestamp="6">61</div>
  <div timestamp="5">51</div>
  <div timestamp="4">41</div>
  <div timestamp="3">31</div>
  <div timestamp="2">21</div>
  <div timestamp="1">11</div>
  <div timestamp="9999">99991</div>
</div>

<h1>Results</h1>
<div id="results"></div>
----------------------------
<h1>jQuery calls <span id="calls"><span/></h1>
js
// get array of elements
var myArray = $("#original div");
var count = 0;

// sort based on timestamp attribute
myArray.sort(function (a, b) {
    
    // convert to integers from strings
    a = parseInt($(a).attr("timestamp"), 10);
    b = parseInt($(b).attr("timestamp"), 10);
    count += 2;
    // compare
    if(a > b) {
        return 1;
    } else if(a < b) {
        return -1;
    } else {
        return 0;
    }
});

// put sorted results back on page
$("#results").append(myArray);
$("#calls").append(count+1);