JS控制多个div显示与隐藏的问题。

function showhidediv(id){
var age=document.getElementById("msg_2");
var name=document.getElementById("msg_1");
if (id == 'name') {
if (name.style.display=='none') {
age.style.display='none';
name.style.display='block';
}
} else {
if (age.style.display=='none') {
name.style.display='none';
age.style.display='block';
}
}
}

<input name="d2" type="radio" value="1" onClick='showhidediv("name")' />
<input name="d2" type="radio" value="2" onClick='showhidediv("age")' />

<div id="msg_1">1</div>

<div id="msg_2" style="display:none;">2</div>

以上的情况测试没问题,当出现多个div就不行了,如下:

<div id="msg_1">111111</div>
<div id="msg_2" style="display:none;">222222</div>

<div id="msg_1">333333</div>
<div id="msg_2" style="display:none;">444444</div>

<div id="msg_1">555555</div>
<div id="msg_2" style="display:none;">666666</div>

请高手们帮忙看看,只有第一组管用,下面几个都不用呢
请帮忙改改js控制部分

你id都重复了当然不好用,
我看的意思是下半部分成三个部分,如果是这个意思的话,那就把他们用三个div分别包起来。如下:
<div id="msg_1">
<div>111111</div>
<div style="display:none;">222222</div>
</div>
<div id="msg_2">
<div>333333</div>
<div style="display:none;">444444</div>
</div>
<div id="msg_3">
<div>555555</div>
<div style="display:none;">666666</div>
</div>追问

师兄谢谢你了,您的指点有独到的地方,给我很大的帮助,在这里感谢您的帮助,谢谢你了。

温馨提示:内容为网友见解,仅供参考
第1个回答  2013-04-22
getElementById()函数只能获取指定id的一个元素,也就是说如果你有多个有着id的元素元素,它只会返回第一个。
你这儿需要用getElementsByName()函数,并且用name来标志元素而不宜用id,如此调用你便能得到指定name的元素的数组,遍历一下就能满足你的需求。追问

师兄谢谢了,问题已经解决,感谢您给予的帮助,谢谢了,师兄。

第2个回答  2019-05-25
所有的回复的那个层同一个name,不同的ID可根据你那条心情的ID加点辨析,所有点击回复的事件传回那个层的ID,事件里把所有这个name的层全隐藏,再把传过来的那个ID的层显示,就是点那个就开那个关闭其他的,这个用户体验我觉得更好
第3个回答  2019-06-20
觉得你这样每个留言都放一个表单有点浪费...,虽然隐藏了,但是HTML还是在那里,你完全可以用一个隐藏了的表单,当点击回复的时候把那个表单加到当前DIV的最后面并显示出来..
第4个回答  2013-04-22
一个页面中id的值是唯一的,你可用class来监控它。$($('.className').attr()==msg_1).hide();

js控制div显示隐藏实现(jquery控制div显示隐藏)
首先我们创建一个div,和一个按钮。用按钮的点击来控制div的显示或隐藏。02 添加一个样式名叫hide的样式,主要是设置display=none,即隐藏。03 接着用js来实现显示,隐藏的功能。我们用Jquery的hasClass方法来判断div是否有hide样式,有则删除这个样式,即显示div。如果没有,则添加一个hide的样式,即隐...

js设置div显示隐藏?
首先我们创建一个div,和一个按钮。用按钮的点击来控制div的显示或隐藏。02添加一个样式名叫hide的样式,主要是设置display=none,即隐藏。首先写出架构,两个buttod(按钮)。下面是一个div存放文本和在后面的被js控制。先用css选择器为div控制属性。然后写出script标签,可以写在外部,然后在引用。js控...

怎么用JS控制多个DIV的显示和隐藏问题
div隐藏的时候把变量设置为null 点击回复的时候传入要显示的div的id或引用,与变量对比 如果一样,则隐藏对应层,如果不一样,则隐藏原来的层,显示新的层,同时更新全局变量

js控制div的显示和隐藏
使用JavaScript控制div的显示隐藏,通常是修改div元素的display为none。display属性 定义和用法 display 属性规定元素应该生成的框的类型。display属性 可能的值 JavaScript控制div的隐藏 比如我们有一个id为div1的div元素 <div id="div1"><\/div>隐藏,代码如下 document.getElementById("div1").style.dis...

JS如何控制DIV的显示和隐藏
我们进行网页开发的时候,经常需要运用JS去控制某个div的显示或者隐藏。下面小编通过实例教大家如何实现这种功能。打开Sublime Text编辑器,新建一个HTML文档,注意一定要设置编码格式为utf8,如下图所示 然后在Body区域准备一个div和一个button按钮,接下来会实现点击按钮来显示和隐藏DIV,如下图所示 接下来...

js里面的显示或者隐藏(js中隐藏元素和显示用什么)
首先我们创建一个div,和一个按钮。用按钮的点击来控制div的显示或隐藏。02 添加一汪态乎个样式名叫hide的样式,主要是设置display=none,即隐藏。03 接着用js来实现显示,隐藏的功能。我们用Jquery的hasClass方法来判断div是否有hide样式困悉,有则删除这个样式,即显示div。闭扰如果没有,则添加一个...

js 怎么用一个按钮控制DIV来回显示和隐藏
1、打开Hbuilder编辑器,新建一个html空白文档,输入基本的结构,然后按下Crtl+S保存一下:2、创建一个button按钮,给按钮设置一个id,名字设置为“myBT”,创建一个用来显示隐藏的div,将其id设置为“main”:3、给div和button设置一些样式,为了美观好看,这里无需设置display,因为默认就是显示的:4...

如何用js通过下拉菜单来实现div的隐藏和显示
1、首先写出架构,两个 buttod (按钮)。2、下面是一个 div 存放文本和在后面的被js控制。3、先用 css 选择器 为 div 控制属性。4、然后写出 script 标签,可以写在外部,然后在引用。5、然后我们用 js 设置变量,这样我们才可以控制变量来控制元素。6、这里用 alert 测试一次我们是否选对了...

js显示和隐藏div如何修改
浏览器。1、首先,打开html编辑器,新建html文件,例如:index.html,编写问题基础代码。2、在index.html中的<script>标签,输入js代码:$('button').click(function(){$('#123').css('display','block');});。3、浏览器运行index.html页面,此时点击btn按钮后,div的内容成功被显示了出来。

如何通过js 控制多个div显示或隐藏?
纯js的话不怎么会,使用jquery的话很简单的。建议楼主学习一下 引用一下jquery,然后 function放head中 function test(){ (".1").css("display","none"); \/\/隐藏class为1 的div \/\/控制显示的话 $(".1").css("display","block");\/\/$(".2").css("display","none"); 隐藏class...

相似回答