Консайд ниже html —
Это процесс поиска любого дочернего элемента, когда у меня есть ссылка на любой из родительского элемента. Но вместо этого, когда у меня есть ссылка на дочерний элемент и вы хотите получить родительский элемент, то каждый раз, когда я должен идти на один уровень вверх —
и я не могу этого сделать —
Я не встречал какой-либо метод, например findParent() в jquery. Я не знаю об этом? Или это почему-то не так?
предоставит всем родителям .element (включая html и body )
Чтобы найти какой-либо конкретный родитель, предположим container1 , тогда
jQuery .parents() обычно найти всех родителей, но если вы передадите селектор, он будет искать это.
Материал из JQuery
Возвращает родительские элементы всех выбранных элементов. При необходимости, можно указать селектор selector для фильтрации результата.
| $(«#block»).parent() | вернет родителя элемента с идентификатором block. |
| $(«div»).parent() | вернет родительские элементы всех div-ов. |
| $(«div»).parent(«.lBlock») | вернет элементы класса lBlock, которые являются родительскими для div-элементов на странице. |
В действии
Найдем бомбы в коробках (элементы класса bomb, лежащие непосредственно внутри элементов класса box):
Замечание: в данном примере, div-элемент под номером 2 не был выделен, поскольку между элементами классов box и bomb есть промежуточный элемент с классом paper. Поэтому, элемент box не является непосредственным родителем элемента bomb.
Определение и применение
jQuery метод .parent() возвращает родительский элемент каждого элемента в наборе совпавших элементов, дополнительно может фильтроваться с помощью заданного селектора.
Обращаю Ваше внимание, что метод .parent() схож с методом .parents() за тем исключением, что первый перемещается только на один уровень вверх по дереву DOM, а второй возвращает всех предков.
jQuery синтаксис:
Добавлен в версии jQuery
Значения параметров
| Параметр | Описание |
|---|---|
| selector | Строка селектор, использующаяся в качестве дополнительного фильтра. Если дополнительно указывается селектор, то выбор элемента (добавление в коллекцию jQuery) осуществляет только в том случае, если он соответствует этому селектору. Необязательный параметр. |
Пример использования
В этом примере мы разместили следующие четыре кнопки:
- При нажатии на первую мы вызываем функцию, которая с помощью метода .parent() выбирает родительский элемент каждого элемента с классом level3 и с помощью метода .css() устанавливает сплошную границу размером 1 пиксель зеленого цвета. Кроме того, при нажатии на любую кнопку с использованием универсального селектора и метода .css() мы убираем границы у всех элементов в документе.
- При нажатии на вторую мы вызываем функцию, которая с помощью метода .parents() выбирает всех предков каждого элемента с классом level3 и с помощью метода .css() устанавливает сплошную границу размером 1 пиксель зеленого цвета.
- При нажатии на третью мы вызываем функцию, которая с помощью метода .parent() выбирает родительский элемент каждого элемента в том случае, если родитель имеет класс second и с помощью метода .css() устанавливает сплошную границу размером 1 пиксель зеленого цвета.
- При нажатии на четвертую мы вызываем функцию, которая с помощью метода .parents() выбирает всех предков каждого элемента в том случае, если предок имеет класс second и с помощью метода .css() устанавливает сплошную границу размером 1 пиксель зеленого цвета.
Результат нашего примера:
Пример использования методов parent() и parents() jQuery перемещения