двигаться вверх в DOM

0

Есть ли способ переместить шаги в DOM через JQuery или Javascript? (предпочтительно JQuery)

Чтобы избежать последовательности меток parent(), мне лучше использовать что-то такое, что могло бы означать что-то вроде этого:

$('.myElement').parent().parent().parent().fadeIn();

Это должно .final элемент .final в следующем примере:

<div class="final">
    <div>
       <div>
          <div class="myElement"></div>
       </div>
    </div>
</div>
  • 2
    нет элемента .final
  • 1
    Ваш фрагмент не содержит элемент .final . Но, предполагая, что это находится в фактической разметке, попробуйте .closest('.final') .
Показать ещё 4 комментария
Теги:

2 ответа

1
Лучший ответ

Это для чего .parents(). Чтобы получить N + 1-го родителя, выполните:

$(this).parents()[N])

Например, $(this).parents()[0] является первым родителем.

  • 0
    Так что же .final число в parent () должно увеличиваться как массив? [0] стоит за первого родителя?
  • 0
    .final должен быть [2] , так как он третий в списке родителей.
Показать ещё 4 комментария
2

Предполагая, что .final является элементом-предком элемента .myElement, вы можете использовать .closest()

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

$('.myElement').closest('.final').fadeIn();

Ещё вопросы

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