如何使用jQuery选择第一个父DIV

How to select first parent DIV using jQuery?

本文关键字:DIV 第一个 选择 何使用 jQuery      更新时间:2023-09-26
var classes = $(this).attr('class').split(' '); // this gets the current element classes
var classes = $(this).parent().attr('class').split(' '); // this gets the parent classes.

上面的父节点是一个节点。

如果我想获得$(this)的第一个父DIV,代码会是什么样子?

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

*基本上我想获得$(this)的第一个父DIV的类。

thx

使用 .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(' ');
编辑:

正如@Shef所指出的,如果当前元素恰好也是DIV, .closest()将返回当前元素。考虑到这一点,请先使用.parent():

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

如果是div则获取parent,然后获取class。

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

最好的两个选择是

$(this).parent("div:first")
$(this).parent().closest('div')

当然你可以通过

找到类attr
$(this).parent("div:first").attr("class")
$(this).parent().closest('div').attr("class")

和for you

$(this).parent("div:first").attr("class").split(' ')
$(this).parent().closest('div').attr("class").split(' ')

保持简单!

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