JQuery сортировать DOM на основе чисел - PullRequest
0 голосов
/ 06 февраля 2012

Ниже приведен класс, который повторяется:

<div class="inner">
          <p> 
                    Text1 
                    <span class="plus"> 25</span>
                    <span class="minus">12</span>
          </p>
</div>



<div class="inner">
              <p> 
                        Text2 
                        <span class="plus"> 205</span>
                        <span class="minus">2</span>
              </p>
    </div>

У меня есть два тега href, которые будут действовать как кнопка сортировки:

<a href="#" id="pos">Sort by Positive.</a>
<a href="#" id="neg">Sort by Negative.</a>

через jquery, как я могу перерисоватьdom, с сортировкой <p> на основе нажатия кнопки.

Скрипка расположена здесь .

1 Ответ

3 голосов
/ 06 февраля 2012

Что-то вроде:

$("#pos").click(function(e){
  e.preventDefault();

  $('.inner').sort(function (a, b) {
    return parseInt($('.plus', a).text(), 10) - parseInt($('.plus', b).text(), 10);
  })
  .appendTo('div.main');
});

$("#neg").click(function(e){
  e.preventDefault();

  $('.inner').sort(function (a, b) {
    return parseInt($('.minus', a).text(), 10) - parseInt($('.minus', b).text(), 10);
  })
  .appendTo('div.main');
});

http://jsfiddle.net/pHyDm/8/

Хотя эти две функции в основном одинаковы и, вероятно, могут / должны быть немного реорганизованы.

...