Поиск подходящего родителя с помощью jQuery

Учитывая элемент DOM, как мне найти его ближайшего родителя с заданным классом css?

$(".editButton").click(function() {
   (magic container selector goes here).addClass("editing");
});

Я не хочу использовать лоты или $ (...). Parent (). Parent (), так как я не хочу быть привязанным к определенной структуре dom.

Как конвертировать HTML в PDF с помощью jsPDF
Как конвертировать HTML в PDF с помощью jsPDF
В этой статье мы рассмотрим, как конвертировать HTML в PDF с помощью jsPDF. Здесь мы узнаем, как конвертировать HTML в PDF с помощью javascript.
16
0
19 740
4
Перейти к ответу Данный вопрос помечен как решенный

Ответы 4

Ответ принят как подходящий

Это должно работать

$(this).parents('.classYouWant:first').addClass("editing");

Я не прав, думая, что все функции jquery действительно возвращают список. Если это так, вы можете сделать $ (this) .parents ('. ClassYouWant: first') (попробуйте!)

Jennifer 18.12.2008 18:24

@Jennifer: Вы правы, если бы у элемента было более одного родителя, он установил бы редактирование для всех из них. Вы должны были опубликовать ответ. Я бы принял это.

Allain Lalonde 18.12.2008 18:30

Итак: сначала в этом примере получает ближайший родительский элемент к $ (this) с помощью .classYouWant? так работает это путь ВВЕРХ ДОМА?

Jay Corbett 18.12.2008 21:33

Используйте .parents(".yourClass") вместо .parent().

Родители jQuery ()

Вы можете использовать родительский выбор. например, $(".myclass:parent").something(); найдет все элементы с классом myclass, у которых есть дочерние элементы.

Несмотря на то, что он правильный, он не решает вопрос, поскольку не находит родителя для определенного элемента dom.

Allain Lalonde 18.12.2008 18:28
$( this ).closest( '.yourselector' )

Как следует из названия, находит ближайшего предка для элемента this.

+1 Это мое предпочтение, когда я знаю, что мне нужен только 1 элемент

dano 13.11.2012 02:52

Другие вопросы по теме