Dubrowsky
Хроники одного дупла
Блогово  →  WebDev  → 

Обход DOM-дерева "снизу вверх", jQuery-коллекции в обратном порядке

09 Апреля 2014 года

У меня есть задачка, как-то хитро обработать DOM-дерево. Ну там, если какой-то узел пустой, но его должно быть видно, написать в нем "Этот узел пустой".

Искомые узлы могут быть вложены друг в друга, и правильная логика обработки - "снизу вверх", то есть если мы в дочернем написали "Я пустой", то родительский уже нифига не пустой.

Решение очень простое, запишу на память и для общего развития. В jQuery-коллекцию узлы попадают в порядке появления в документе (и, соответственно, в порядке вложенности).

Все, что от нас требуется - повернуть jQuery-коллекцию в обратном порядке. Встроенного метода нету, но можно преобразовать jQuery в массив, дернуть Array.reverse() и собрать обратно в jQuery.

$(
    $('.my_super_items')
        .get()
        .reverse()
).each( function() {
    // и снизу вверх, снизу вверх!
});

Работает не супер шустро, но мне и не надо =)

Написать коммент: памятка постеру

 

Крутые посты wtf??? →

27.06.2012 · 37 камментов · рейтинг 10.01
06.03.2008 · 29 камментов · рейтинг 7.03
28.03.2008 · 24 каммента · рейтинг 6.41
30.01.2013 · 13 камментов · рейтинг 6.19
19.01.2008 · 20 камментов · рейтинг 5.81

Последне камменты

12.10.2019  6THFV6ZDSU0J 6THFV6ZDSU0J 6THFV6ZDSU0J www.yandex.ruДинамическая отправка формы с файлом в IE (ajax file upload + form.submit): S5yizZQjiS9
26.09.2019  5ZQMBL3RXY98 5ZQMBL3RXY98 5ZQMBL3RXY98 www.yandex.ruтам же: xwWbT1nO
26.09.2019  AT8LJX8SMJPE AT8LJX8SMJPE AT8LJX8SMJPE www.yandex.ruПочему не работает form.submit(): OuQnxIU8HYE
24.09.2019  2SSUSLMI 2SSUSLMI 2SSUSLMI www.yandex.ruтам же: 1DaGyZzh5
04.05.2019  Brian Fargoтам же: Спасибо. Все на поверхности, но фиг вкуришь с лету...

Статсы