在上面的 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

https://fiddle.jshell.net/30tf4ytw/7/