我目前遇到了问题:
我的html中有不同的元素。所有除了第一个有一个名为“非活动”的类,我希望它们单击(在每个单元格上)以激活(删除“非活动”属性)。
点击第一个,将激活第二个。单击第二个,将激活第三个。等等。
这是我的HTML。
<div class="around">
<div class="row">
<div class="cell">text 1</div>
</div>
<div class="row inactive">
<div class="cell">text 2</div>
</div>
<div class="row inactive">
<div class="cell">text 3</div>
</div>
</div>
这是我的jquery(在stackoverflow上找到)
$( document ).ready(function() {
$( ".cell" ).click(function() {
$(this).closest('.around').next().find('.inactive').removeClass('inactive');
});
});
这样做......没什么。
我也尝试过:
$(this).closest('.around').find('.inactive').removeClass('inactive');
});
但是这将从所有元素中删除“非活动”类
有人可以帮忙吗?
答案 0 :(得分:6)
使用parent()功能:
$( document ).ready(function() {
$( ".cell" ).click(function() {
// Take the parent .row element of the selected cell
// and remove the class .inactive
$(this).parent('.row').removeClass('inactive');
});
});
答案 1 :(得分:5)
如果要从clicked元素的parent中删除类,则需要使用.parent()
遍历父元素:
$( ".cell" ).click(function() {
$(this).parent().removeClass('inactive');
});
如果要从点击的父级的下一个兄弟元素中删除该类,请使用.parent()
和.next()
:
$( ".cell" ).click(function() {
$(this).parent().next().removeClass('inactive');
});