Javascript 如何将当前类添加到已单击的元素中,并在单击其他元素时将其删除?

Javascript 如何将当前类添加到已单击的元素中,并在单击其他元素时将其删除?,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我不太擅长JavaScript,大部分时间我使用别人的作品。我想知道如何将当前类添加到以下代码中,以便对所选元素进行更改。 谢谢 功能仅显示一个(氯乙烯酮){ $('.newbox')。每个(函数(索引){ if($(this.attr(“id”)==氯乙烯酮){ 元(此),show(200);; }否则{ $(此).hide(600); } }); } 内容1 内容2 您可以使用 $(this).addClass('current-class'); 并用 $(this).removeCl

我不太擅长JavaScript,大部分时间我使用别人的作品。我想知道如何将当前类添加到以下代码中,以便对所选元素进行更改。 谢谢

功能仅显示一个(氯乙烯酮){
$('.newbox')。每个(函数(索引){
if($(this.attr(“id”)==氯乙烯酮){
元(此),show(200);;
}否则{
$(此).hide(600);
}
});
}

内容1

内容2

您可以使用

$(this).addClass('current-class');
并用

$(this).removeClass('current-class');
功能仅显示一个(氯乙烯酮){
$('.newbox')。每个(函数(索引){
if($(this.attr(“id”)==氯乙烯酮){
元(此),show(200);;
}
否则{
$(此).hide(600);
}
});
$('.link')。每个(函数(索引){
if($(this).text()==氯丙酮){
$(this.addClass('current');
}
否则{
$(this.removeClass('current');
}
});
}
.current{
显示:内联块;
填充物:5px10px;
边框:1px纯黑;
}

内容1

内容2


您可以按如下方式使用addClass和removeClass:

function showonlyone(thechosenone) {
     $('.newboxes').each(function(index) {
          if ($(this).attr("id") == thechosenone) {
               $(this).show(200);
               $(this).addClass("current");
          }
          else {
               $(this).hide(600);
               $(this).removeClass("current");
          }
     });
}
根据你的Q-clicked元素,并在单击另一个元素时删除它

您必须使用
$('yourEl').removeClass('ClassRemove')先是
$(this).addClass('ClassRemove')
,这样所有名为
yourEl
的类都将从类
ClassRemove
中删除,并且只有您单击的元素将添加到类
ClassRemove

但是由于您有一个
if条件
,因此不需要使用
$('yourEl').removeClass('ClassRemove')
。我已经根据你的评论更新了代码

功能仅显示一个(氯乙烯酮){
$('.newbox')。每个(函数(索引){
if($(this.attr(“id”)==氯乙烯酮){
元(此),show(200);;
$(this).prev('a').addClass('current');
}
否则{
$(此).hide(600);
$(this.prev('a').removeClass('current');
}
});
}
a p{
保证金:0;
填充:0;
}
.当前{
边框:1px#000实心;
显示:块;
}

内容1

内容2


我对您的代码进行了一些重新组织,以使使用jQuery选择器执行您想要的操作更加容易

第1版:突出显示链接

功能高亮链接(事件){
event.preventDefault();
var$otherParents=$(此)
.parent()
.兄弟姐妹(“新生儿父母”);
$otherParents.children(“.newboxes”).hide(600);
$otherParents.children(“a”).removeClass(“当前”);
$(此).birds(“.newboxes”).show(200);
$(此).children(“p”).addClass(“当前”);
}
$(“.newbox\u parent>a”)。单击(高亮链接)
.current{
边框:1px纯绿色;
}

内容1

内容2


你所说的“当前类”是什么意思?类似这样的:$(this).addClass('current'),为什么你不能这样做?太好了!它将当前类添加到内容类中,但我尝试将当前类添加到实际链接中,就像在单击的链接周围添加边框一样,在本例中是“link1”。对不起,这是我的错误,没有清楚地表达我的问题。谢谢你的回答:)很高兴能帮上忙:)谢谢,但它会将类添加到内容中,而不是链接中。有没有办法将类添加到链接中?就像在点击“link1”时在其周围添加边框一样?谢谢您的精彩解释。它与内容部分完美配合。我应该怎么做才能将当前类放在链接中,以便在单击时在其周围添加边框?@MustafaHaidari,我已经为您更新了代码。如果它对您有效,请将其标记为答案。tyMustafaHaidari Yw,根据我,您的单个条件足以管理该函数,而不需要2个
。每个
循环都可以根据答案为该简单函数工作。感谢您的帮助:)