62

属性を持つ複数の要素があります: data-percentage、JavaScript または jQuery のいずれかを使用して、最初に最小値で要素を昇順にソートする方法はありますか?

HTML:

<div class="testWrapper">
  <div class="test" data-percentage="30">
  <div class="test" data-percentage="62">
  <div class="test" data-percentage="11">
  <div class="test" data-percentage="43">
</div>

望ましい結果:

<div class="testWrapper">
  <div class="test" data-percentage="11">
  <div class="test" data-percentage="30">
  <div class="test" data-percentage="43">
  <div class="test" data-percentage="62">
</div>
4

5 に答える 5

134

使用Array.sort:

var $wrapper = $('.testWrapper');

$wrapper.find('.test').sort(function(a, b) {
    return +a.dataset.percentage - +b.dataset.percentage;
})
.appendTo($wrapper);

これがフィドルです:http://jsfiddle.net/UdvDD/


datasetIE < 10 を使用している場合、このプロパティは使用できません。getAttribute代わりに使用してください:

var $wrapper = $('.testWrapper');

$wrapper.find('.test').sort(function(a, b) {
    return +a.getAttribute('data-percentage') - +b.getAttribute('data-percentage');
})
.appendTo($wrapper);

これがフィドルです:http://jsfiddle.net/UdvDD/1/

于 2013-01-04T16:04:03.377 に答える
1

Tinysort Jqueryプラグインはオプションである必要があると思います。ここで入手できます:http://tinysort.sjeiti.com/

私はそれを試しませんでしたが、コードは次のようになります:

$("#test > div").tsort("",{attr:"data-percentage"});

これが役立つことを願っています

于 2013-01-04T16:21:41.417 に答える