Javascript 如何在单击另一个元素时显示和隐藏该元素
我用下面的代码触发了一系列div元素Javascript 如何在单击另一个元素时显示和隐藏该元素,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我用下面的代码触发了一系列div元素 $(".course_id").on("click", function(){ var id = $(this).data("id"); $("div#lessons_by_course_" + id).removeClass("hidden"); }); div有一个名为lessons\u by\u course+id的id,例如 <div id="lessons_by_course1"></div> i
$(".course_id").on("click", function(){
var id = $(this).data("id");
$("div#lessons_by_course_" + id).removeClass("hidden");
});
div有一个名为lessons\u by\u course+id的id,例如
<div id="lessons_by_course1"></div>
id号是使用RubyonRails动态解析的
我想要的是,当我单击一个div时,我希望它显示出来;当我单击另一个div时,我希望jquery隐藏显示的最后一个div,并显示我单击的下一个div
请注意.course\u id是一个包含许多元素的类,因此每次单击某个元素时,都会弹出一个不同的div,因为每次的id都不同。您可以将最后显示的元素的id缓存在全局变量中:
var id;
然后在循环中:
$(".course_id").on("click", function(){
if(id) {
$("div#lessons_by_course_" + id).addClass("hidden");
}
id = $(this).id;
$(this).removeClass("hidden");
});
您可以在全局变量中缓存最后显示的元素的id:
var id;
然后在循环中:
$(".course_id").on("click", function(){
if(id) {
$("div#lessons_by_course_" + id).addClass("hidden");
}
id = $(this).id;
$(this).removeClass("hidden");
});
这个问题很难理解。你能编辑语法吗?这个问题很难理解。你能编辑语法吗可能只是
id=this.id代码>!您不必使用刚从元素中提取的id来选择元素<代码>id=this.id$(本节)。removeClass(“隐藏”)代码>注意id=$(this).data(“id”)
可能只是id=this.id代码>!您不必使用刚从元素中提取的id来选择元素<代码>id=this.id$(本节)。removeClass(“隐藏”)代码>