мы ищем способ выбора общих 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 имеет один и тот же класс, но мы можем предположить, что структура является общей для повторяющихся элементов... мы просто не знаем конкретной глубины.
Предполагая, что у них есть класс childA
можно легко получить родительский цикл, childA
по коллекции:
$('.childA').each(function(){
$(this).parent().addClass('parentOfChildA')
})
В первом примере будет <td>
и <h1>
в секунду.
$('.childA').closest('table').find('.childA')
, вероятно, решит большинство ваших проблем.