Я использую jQuery некоторое время. Я хотел использовать селектор parent()
. Я также придумал селектор closest()
. Невозможно найти разницу между ними. Есть ли? Если да, то что?
В чем разница между parent(), parents() и closeest()?
Я использую jQuery некоторое время. Я хотел использовать селектор parent()
. Я также придумал селектор closest()
. Невозможно найти разницу между ними. Есть ли? Если да, то что?
В чем разница между parent(), parents() и closeest()?
closest()
выбирает первый элемент, соответствующий селектору, вверх из дерева DOM.
parent()
выбирает один элемент в дереве DOM.
parents()
метод похож наparent()
, но выбирает все сопоставление элементов с деревом DOM.
из http://api.jquery.com/closest/
Методы .parents() и .closest() аналогичны тем, что они оба пересечь дерево DOM. Различия между ними, хотя тонкие, значительны:
.closest()
- Начинается с текущего элемента
- Перемещает дерево DOM до тех пор, пока не найдет совпадение для поставляемого селектор
- Возвращенный объект jQuery содержит нуль или один элемент
.parents()
- Начинается с родительского элемента
- Перемещает дерево DOM в корневой элемент документа, добавляя каждый элемент предка во временную коллекцию; он затем фильтрует сбор на основе селектора, если он поставляется
- Возвращенный объект jQuery содержит нулевой, один или несколько элементов
.parent()
- Учитывая объект jQuery, который представляет собой набор элементов DOM,.parent() позволяет нам искать родителей этих элементов в дереве DOM и построить новый объект jQuery из соответствующие элементы.
Примечание.. Методы .parents() и .parent() аналогичны, за исключением того, что последний только перемещается на один уровень вверх по дереву DOM. Также, $( "html" ). Метод parent() возвращает набор, содержащий документ, тогда как $( "html" ). parent() возвращает пустой набор.
Вот связанные темы:
Различия между двумя, хотя и утонченными, значительны:
- Начинается с текущего элемента
- Перемещает дерево DOM до тех пор, пока не найдет совпадение для поставляемого селектора
- Возвращенный объект jQuery содержит нуль или один элемент
- Начинается с родительского элемента
- Перемещение дерева DOM в корневой элемент документа, добавление каждого элемента предка во временную коллекцию; он затем фильтрует эту коллекцию на основе селектора, если один из них поставляется
- Возвращенный объект jQuery содержит нулевой, один или несколько элементов
Из jQuery docs
Существует разница между $(this).closest('div')
и $(this).parents('div').eq(0)
В принципе closest
начинает сопоставлять элемент с текущим элементом, тогда как parents
начинает сопоставлять элементы из родителя (на один уровень выше текущего элемента)
See http://jsfiddle.net/imrankabir/c1jhocre/1/
$(this).closest('div')
совпадает с $(this).parents('div').eq(0)
.