существует ли функция отображения jQuery, в которой метод end работает против базового запроса

54
4

У меня есть следующий запрос:

$(some_selector_here).find("ul li.active a span")

Мне нужна функция, которая проходит через коллекцию и внутри функции цикла, у нее будет полный стек базовых элементов. Я пробовал map и each но они имеют элементы DOM проходящие внутри, а не элемент jQuery. Вопрос в том, есть ли готовая функция для этого или любых способов его реализации вручную?
Пример:

$(some_selector_here).find("ul li.active a span").each(function () {
// here I want to get this $(some_selector_here)
var parentElement = $(this).end();
})

спросил(а) 2015-06-10T15:28:00+03:00 5 лет назад
1
Решение
54

$(some_selector_here).find("ul li.active a span").each(function () {
var selector = $(some_selector_here); // here you have
var parentElement = $(this).end();
})

обновленный
Чтобы получить родительский элемент определенного элемента

Использовать closest():

$(some_selector_here).find("ul li.active a span").each(function () {
var parent = $(this).cloest('some_selector_here'); // here you have
var parentElement = $(this).end();
})

или
Использовать parents

$(some_selector_here).find("ul li.active a span").each(function () {
var parent = $(this).parents('some_selector_here'); // here you have
var parentElement = $(this).end();
})

ответил(а) 2015-06-10T15:34:00+03:00 5 лет назад
40

Это должно работать, если вы не "вынуждены" использовать this в своем .each:


var base = $(some_selector_here);
base.find("ul li.active a span").each(function () {
// now you can access base, which is == $(some_selector_here)
var parentElement = $(this).end();
})

ответил(а) 2015-06-10T15:33:00+03:00 5 лет назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема