我有这个基本的html结构:
<div class=a>
<div class=m></div>
<div class=m></div>
</div>
<div class=b>
<div class=m></div>
<div class=m></div>
</div>
现在我想迭代所有m,但也想知道我是在a还是b。 使用基本的jquery语法,我无法找到它。
$('.m').each(function(index) {
// how do i know if this m is part of a or b ?
});
答案 0 :(得分:8)
$(this).parent().hasClass("a")
或$(this).parent().hasClass("b")
答案 1 :(得分:1)
if($(this).parent().hasClass('a'))
同样对于b,它应该有用。
答案 2 :(得分:1)
如果你关心,那么我会将选择器分开:
$('.a .m').each(function(index) {
// now I'm on .a items
});
$('.b .m').each(function(index) {
// now I'm on .b items
});
答案 3 :(得分:0)
$('.m').each(function(index) {
this.parentNode.getAttribute( "class" );
});
答案 4 :(得分:0)
例如,检查父级是.a
if($(this).parent().is('.a'))
答案 5 :(得分:0)
您可以使用.closest方法:
var $this = $(this);
if ($this.closest("a").length === 1) {
alert("I'm in an a div");
}
else {
alert("I'm in a b div");
}
答案 6 :(得分:0)
您可以检查函数中父元素的类,以确定您是否处于'a'或'b'
$('.m').each(function() {
var parentClass = $(this).parent().attr('class');
});
因此,parentClass var的值应为'a'或'b'