在上面的 div 中添加 class
Add class to div above
我有以下 html 结构:
<div> ... </div>
<div> ... </div>
<div> ... </div>
我想做的是,每当我将 class active 添加到 div 标签时,立即 div 标签在上面它将得到 class inactive。使用 JQuery 可以实现这样的事情吗?
更新
我尝试了以下操作,但这会向父级 DIV 添加一个 class,而不是其上方的 DIV:
if ($('div').hasClass('active')) {
$(this).parent().addClass('inactive');
}
谢谢!
jQueryparent()
函数returns选择元素的父元素。参见 https://api.jquery.com/parent/
<div class="parent">
<div class="child"></div>
</div>
您应该使用 prev()
函数来查找 DOM 中的前一个元素。
查看文档页面:https://api.jquery.com/prev/
您的代码可能如下所示:
var $current = $('div.active');
var $previous = $current.prev();
$previous.addClass('inactive');
变量名前的$
表示包含一个DOM元素
Fiddle
我有以下 html 结构:
<div> ... </div>
<div> ... </div>
<div> ... </div>
我想做的是,每当我将 class active 添加到 div 标签时,立即 div 标签在上面它将得到 class inactive。使用 JQuery 可以实现这样的事情吗?
更新
我尝试了以下操作,但这会向父级 DIV 添加一个 class,而不是其上方的 DIV:
if ($('div').hasClass('active')) {
$(this).parent().addClass('inactive');
}
谢谢!
jQueryparent()
函数returns选择元素的父元素。参见 https://api.jquery.com/parent/
<div class="parent">
<div class="child"></div>
</div>
您应该使用 prev()
函数来查找 DOM 中的前一个元素。
查看文档页面:https://api.jquery.com/prev/
您的代码可能如下所示:
var $current = $('div.active');
var $previous = $current.prev();
$previous.addClass('inactive');
变量名前的$
表示包含一个DOM元素
Fiddle