Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Сортировка блоков div (https://javascript.ru/forum/events/48652-sortirovka-blokov-div.html)

CRYSIS_STALKER 11.07.2014 13:54

Сортировка блоков div
 
Имеется 5 блоков div. В каждом из них есть div, в котором есть цифра. Необходимо отсортировать эти 5 div'ов по возрастанию цифр. Помогите с написанием функции. Блоков может быть не 5, а больше.

Aetae 11.07.2014 14:12

CRYSIS_STALKER, пример html напишите.

Sweet 11.07.2014 14:18

Логика примерно такая:
<div id="container">
  <div class="item">
    <div class="num">22</div>
  </div>
  <div class="item">
    <div class="num">5</div>
  </div>
  <div class="item">
    <div class="num">18</div>
  </div>
  <div class="item">
    <div class="num">37</div>
  </div>
  <div class="item">
    <div class="num">2</div>
  </div>
</div>

<script>

var divs = Array.prototype.slice.call(document.querySelectorAll('#container .item'));

divs.sort(sort);
divs.forEach(putIn, container);


function sort(a, b) {
  return getValue(a) > getValue(b);
  
  function getValue(element) {
    return Number(element.querySelector(".num").textContent);
  }
}

function putIn(item) {
  this.appendChild(item);
}

</script>


Часовой пояс GMT +3, время: 15:19.