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.
指定されたセレクタ'div'
に一致する最初の祖先要素を取得する.closest()
を使用します。
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');