Javascript 缺少向上遍历dom的正确元素的目标

Javascript 缺少向上遍历dom的正确元素的目标,javascript,jquery,dom,Javascript,Jquery,Dom,我的HTML结构如下(相关部分): $(此)是选中的单选按钮,并且.closest('div.card')。addClass('card-warning')按预期正确添加类。关键是.prev('div.card').removeClass('card-warning')不是针对上一张卡 我做错了什么?您选择的最近的div.card没有任何以前的兄弟姐妹,因此.prev失败。导航到父元素的上一个元素: $(this) .closest('div.card') .addClass('card

我的HTML结构如下(相关部分):

$(此)
是选中的单选按钮,并且
.closest('div.card')。addClass('card-warning')
按预期正确添加类。关键是
.prev('div.card').removeClass('card-warning')
不是针对上一张卡


我做错了什么?

您选择的最近的
div.card
没有任何以前的兄弟姐妹,因此
.prev
失败。导航到父元素的上一个元素:

$(this)
  .closest('div.card')
  .addClass('card-warning')
  .parent()
  .prev()
  .children('div.card')
  .removeClass('card-warning');
$('foo')。在('click',function()上{
$(本)
.最近的('div.card')
.addClass(“卡警告”)
.parent()
.prev()
.儿童('div.card')
.removeClass(“卡警告”);
});
.card警告{
背景颜色:黄色;
}

这里有东西
还有别的吗

我不知道这是否是您要搜索的内容,但在下面的代码片段中,显示示例

  • 首先将类添加到最近的div卡

  • 然后从除当前使用外的其他div.card中删除类

    .parents('.row').find('div.card').not($(this.parents('div.card'))

$(函数(){
$(“.apply”)。在(“单击”,函数(){
$(this).closest('div.card').addClass('card-warning').parents('.row').find('div.card').not($(this).parents('div.card')).removeClass('card-warning');
})
})
。应用{
左边距:20px;
颜色:红色;
}
.信用卡警告{
背景色:黄色!重要;
}

这里有东西
还有别的吗

如果我想从第一个切换到第二个,但不想返回(很明显)。既然它应该在这两个内容之间切换,那么有没有办法让
.parent().prev()
一般性地找到拥有这个类的“other”div?你能用收音机发布html结构来尝试一个代码段吗?这是我在一般用途上寻找的。在这种情况下,因为这个类只能有一个div,所以我对另一个使用了变通方法answer@LelioFaieta,好的,太好了:)
$(this).closest('div.card').addClass('card-warning').prev('div.card').removeClass('card-warning');
$(this)
  .closest('div.card')
  .addClass('card-warning')
  .parent()
  .prev()
  .children('div.card')
  .removeClass('card-warning');