如何使用jQueryselect第一个父DIV?

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

在上述情况下的父母是一个ankor。

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

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

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

谢谢

使用.closest()遍历DOM树直到指定的select器。

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

使用.closest() ,它获得匹配给定select器'div'的第一个祖先元素:

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

编辑:

正如@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');