Как выбрать первый родительский DIV с помощью jQuery?



var classes = $(this).attr('class').split(' '); // this gets the current element classes

var classes = $(this).parent().attr('class').split(' '); // this gets the parent classes.


родителем в приведенной выше ситуации является Анкор.



Если бы я хотел получить первый родительский DIV $(this), как бы выглядел код?



var classes = $(this).div:parent().attr('class').split(' '); // just a quick try.


* в основном я хочу получить классы первого родительского DIV $(this).



thx

515   4  

4 ответов:

использовать .closest() для перемещения вверх по дереву DOM до указанного селектора.

var classes = $(this).parent().closest('div').attr('class').split(' '); // this gets the parent classes.

использовать .closest(), который получает первый элемент предка, соответствующий заданному селектору 'div':

var classes = $(this).closest('div').attr('class').split(' ');

EDIT:

как отметил @Shef,.closest() вернет текущий элемент, если он также является DIV. Чтобы принять это во внимание, используйте .parent() первый:

var classes = $(this).parent().closest('div').attr('class').split(' ');

это получает родителя, если это div. Тогда он получает класс.

var div = $(this).parent("div");
var _class = div.attr("class");

держите его просто!

var classes = $(this).parent('div').attr('class');

Comments

    Ничего не найдено.