Javascript 如果另一个h2选择关闭当前h2,我如何一次显示一个h2?

Javascript 如果另一个h2选择关闭当前h2,我如何一次显示一个h2?,javascript,jquery,arrays,for-loop,Javascript,Jquery,Arrays,For Loop,我试图一次只打开一个h2元素。如果我已经有一个打开的,我点击另一个,前一个应该隐藏自己。我尝试创建一个数组,并使用for循环检查每个h2元素是否打开。我的for循环只检查一个h2,而不是所有3个,我如何修复它并一次只保持一个打开状态 以下是我的代码片段: “严格使用”; var$=函数(id){return document.getElementById(id);}; //每个h2元素的click事件的事件处理程序 var toggle=函数(){ var h2=this;//单击了h2标记

我试图一次只打开一个h2元素。如果我已经有一个打开的,我点击另一个,前一个应该隐藏自己。我尝试创建一个数组,并使用for循环检查每个h2元素是否打开。我的for循环只检查一个h2,而不是所有3个,我如何修复它并一次只保持一个打开状态

以下是我的代码片段:

“严格使用”;
var$=函数(id){return document.getElementById(id);};
//每个h2元素的click事件的事件处理程序
var toggle=函数(){
var h2=this;//单击了h2标记
var div=h2.nextElementSibling;//h2标记的同级div标记
var hello=document.getElementsByTagName(“h2”);
//通过添加或删除类来切换h2元素中的正负图像
if(h2.hasAttribute(“类”){
h2.删除属性(“类别”);
}否则{
h2.setAttribute(“类”、“减”);
}
//通过添加或删除类来切换div可见性
if(div.hasAttribute(“类”){
分部移除属性(“类别”);
}否则{
div.setAttribute(“类”、“打开”);
} 
for(var i=0;i
jQuery是一个JavaScript函数库,您很可能
当你开发网站的时候需要。

原因有三:

  • 它是免费的
  • 它可以让你在更短的时间内完成更多的工作
  • 它的所有功能都是跨浏览器兼容的

因为jquery标记在那里,所以我使用jquery给出了一个非常简单的代码:

$('h2').click(function(){
  $('h2').removeClass('minus');
  $('div').removeClass('open');
  $(this).addClass('minus');
  $(this).next('div').addClass('open');
});
工作代码段:

$('h2')。单击(函数(){
$('h2')。removeClass('减号');
$('div').removeClass('open');
$(this.addClass('减号');
$(this).next('div').addClass('open');
});
*{
保证金:0;
填充:0;
}
身体{
字体系列:Verdana、Arial、Helvetica、无衬线;
字体大小:87.5%;
宽度:650px;
保证金:0自动;
边框:3件纯蓝;
填充:15px 25px;
}
h1{
字体大小:150%;
}
氢{
字体大小:120%;
填充:.25em0.25em25px;
光标:指针;
背景:url(images/plus.png)不重复左中心;
}
负氢{
背景:url(images/minus.png)不重复左中心;
}
a{
颜色:黑色;
文字装饰:无;
}
a:聚焦,a:悬停{
颜色:蓝色;
}
div{
显示:无;
}
公开组{
显示:块;
}
保险商实验室{
左侧填充:45px;
}
李{
垫底:25em;
}
p{
垫底:25em;
左侧填充:25px;
}

常见问题
JavaScript常见问题解答
JavaScript是一种基于浏览器的编程语言
这使网页更具响应性,并节省了往返服务器的时间。

jQuery是一个JavaScript函数库,您很可能 当你开发网站的时候需要。

原因有三:

  • 它是免费的
  • 它可以让你在更短的时间内完成更多的工作
  • 它的所有功能都是跨浏览器兼容的

请创建一个代码的工作片段。(使用此处的代码编辑器或JSFIDLE)。因为我们不知道bindeconv.js或bindeconv.cst感谢您让我知道我添加了一个代码的工作片段。