Упорядочивание DOM-элементов в массиве

Материал из JQuery

Перейти к: навигация, поиск
$.unique()

Сортирует массив с DOM-элементами, выстраивая их в порядке расположения в DOM, а так же удаляя повторения. Функция ммеет один вариант использования:

$.unique(arr):array1.1.3

arr — массив с DOM-элементами, который нужно отсортировать.

Пример

Поместим все div-элементы в массив, добавим туда три повторяющихся элемента и отсортируем:

~lt~!DOCTYPE html~gt~
~lt~html~gt~
~lt~head~gt~
  ~lt~style~gt~
    div{color:blue;}
  ~lt~/style~gt~
  ~lt~script src="http://code.jquery.com/jquery-1.4.4.js"~gt~~lt~/script~gt~
~lt~/head~gt~
~lt~body~gt~
  ~lt~div~gt~В документе всего 6 элементов div.~lt~/div~gt~
  ~lt~div~gt~~lt~/div~gt~
  ~lt~div class="dup"~gt~~lt~/div~gt~
  ~lt~div class="dup"~gt~~lt~/div~gt~
  ~lt~div class="dup"~gt~~lt~/div~gt~
  ~lt~div~gt~~lt~/div~gt~
  ~lt~script~gt~

    // получим массив со всеми div-элементами
    var divs = $("div").get();

    // продублируем в массиве элементы с классом dup (три штуки)
    divs = divs.concat($(".dup").get());
    
    // добавим данные о количестве элементов в не отсортированном и отсортированном массиве
    $("div:eq(1)").text("Перед сортировкой в массиве " + divs.length + " элементов.");

    divs = jQuery.unique(divs);
    $("div:eq(2)").text("После сортировки в массиве " + divs.length + " элементов.")
    .css("color", "red");

  ~lt~/script~gt~
~lt~/body~gt~
~lt~/html~gt~

Ссылки

Поисковые ключи:
  • сортировка массива с dom-элементами
  • уникальные элементы
  • .unique()
  • unique()