JQuery выбор общих детей в глубоком дереве

0

мы ищем способ выбора общих sibilings в сложной структуре... проблема в том, что известный элемент находится глубоко внутри дерева... то, что нам нужно найти, является общим родителем динамически, а затем выберите похожих детей... не зная, кто является общим родителем...

например, нам нужно найти братьев и сестер div.childA

table
--tr
----td
------div.childA
--tr
----td
------div.childA
--tr
----td
------div.childA

в приведенном выше примере, как бы вы выбрали всех дочерних элементов childA, не зная, кто является общим родителем, и возможность существования div.childA на другом месте на странице...

код также должен иметь возможность обрабатывать другие структуры, такие как

div
--span
----div
------h1
--------span.childA
div
--span
----div
------h1
--------span.childA
div
--span
----div
------h1
--------span.childA
div
--span
----div
------h1
--------span.childA

снова нужно выбрать все childA, также нет гарантии, что childA имеет один и тот же класс, но мы можем предположить, что структура является общей для повторяющихся элементов... мы просто не знаем конкретной глубины.

  • 0
    Я не думаю, что вы понимаете, что элемент родного брата?
  • 0
    Как заметка, что-то вроде $('.childA').closest('table').find('.childA') , вероятно, решит большинство ваших проблем.
Показать ещё 1 комментарий
Теги:
find
tree
underscore.js
jquery-selectors

1 ответ

0

Предполагая, что у них есть класс childA можно легко получить родительский цикл, childA по коллекции:

$('.childA').each(function(){
   $(this).parent().addClass('parentOfChildA')
})

В первом примере будет <td> и <h1> в секунду.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню