Javascript 单击添加类和删除类时的Jquery问题
第一次在这里发布。我是jquery的初学者,遇到了一些灰色地带。希望我能在这里找到我的答案,并从中学习:) 我有一个10个不同的分区,都是同一个级别。每次单击div时,它都必须添加另一个类(在本例中为css中的背景色)。为此,我有:Javascript 单击添加类和删除类时的Jquery问题,javascript,jquery,class,if-statement,Javascript,Jquery,Class,If Statement,第一次在这里发布。我是jquery的初学者,遇到了一些灰色地带。希望我能在这里找到我的答案,并从中学习:) 我有一个10个不同的分区,都是同一个级别。每次单击div时,它都必须添加另一个类(在本例中为css中的背景色)。为此,我有: $(document).ready(function() { $(".menucardmenu").click(function(){ if($(this).hasClass("menucardmenu")) { $(t
$(document).ready(function() {
$(".menucardmenu").click(function(){
if($(this).hasClass("menucardmenu")) {
$(this).addClass("backgroundmenucard");
}
else {
alert ("condition false");
}
});
});
但现在的问题是,我如何才能使只有一个div可以有这种背景色(在我的例子中是backgroundmenucard)。根据用户单击的哪个div,该div将具有背景色,而上一个div(单击的)应将其重置为正常。我能用这个做对吗
$(this.removeClass(“backgroundmenucard”)
有人知道这个问题的答案吗
问候,,
安德鲁从所有
$(".menucardmenu").removeClass("backgroundmenucard");
然后将另一个选项添加到
此中:
$('.menucardmenu').click(function(){
$('.menucardmenu').removeClass('backgroundmenucard');
$(this).addClass('backgroundmenucard');
});
$(".menucardmenu").not(this).removeClass("backgroundmenucard");
$(this).addClass("backgroundmenucard");
这样,您就不会将类删除并添加到特定(This)元素中
if($(this).hasClass(“menucardmenu”))
检查是完全不必要的,因为您已经选择了具有该类的元素。它将始终计算为true
请尝试以下操作:
$(".menucardmenu").click(function(){
$(".backgroundmenucard").removeClass("backgroundmenucard");
$(this).addClass("backgroundmenucard");
});
演示:
(我删除了if
,因为它在这种情况下没有用)我认为“else”块永远不会执行……我错了吗?@Sayem不,你没有错。你甚至可以说你是对的代码>这正是我需要的。谢谢。是的,我在研究if-else语句,所以我用它来做基础。在那之后,我不确定它的用途是什么,因为我知道它已经起作用了。不管怎样,你都要将类添加到中,所以它真的没有什么区别。
$(".menucardmenu").click(function(){
$(".backgroundmenucard").removeClass("backgroundmenucard");
$(this).addClass("backgroundmenucard");
});