中易网

JS控制多个div显示与隐藏的兼容问题,2个JS,第二个不支持谷歌和火狐,第一个不支持IE6.0

答案:4  悬赏:20  
解决时间 2021-02-17 07:31
第一个JS,兼容火狐和谷|歌等浏览器,不兼容IE6.0。
<html>
<head>
<script type='text/javascript'>
function showhidediv(e){
var nameArr=document.getElementsByName("msg_1");
var ageArr=document.getElementsByName("msg_2");
for(var i=0;i<ageArr.length;i++){
if (e == 'name') {
if (nameArr[i].style.display=='none') {
ageArr[i].style.display='none';
nameArr[i].style.display='block';
}
} else {
if (ageArr[i].style.display=='none') {
nameArr[i].style.display='none';
ageArr[i].style.display='block';
}
}
}
document.getElementById('d1').checked = (e=='name');
document.getElementById('d2').checked = (e!='name');
}
</script>
</head>
<body>
<input id="d1" type="radio" value="1" onClick='showhidediv("name")' />
<input id="d2" type="radio" value="2" onClick='showhidediv("age")' />
<div name="msg_1">111111</div>
<div name="msg_2" 歌等。
<script type='text/javascript'>
function showhidediv(e){
var arry = document.getElementsByTagName("div");
for(var i=0;i<arry.length;i++){
if("name"==e){
if(arry[i].name=='msg_1'){
arry[i].style.display="block";
}else if(arry[i].name=='msg_2'){
arry[i].style.display="none";
}
}else{
if(arry[i].name=='msg_1'){
arry[i].style.display="none";
}else if(arry[i].name=='msg_2'){
arry[i].style.display="block";
}
}
}
document.getElementById('d1').checked = (e=='name');
document.getElementById('d2').checked = (e!='name');
}
</script>
最佳答案
用第二个js。

把所有
arry[i].name
改成
arry[i].getAttribute('name')

因为div默认没有name属性,所以这里div上的name是自定义的属性了。
所以要用getAttribute获取name属性。
全部回答
为什么不用JQuery呢? 这个框架帮你自动适配不同浏览器了
tbody默认display的值不是block 建议也用class来控制 需要隐藏的时候给tbody加个hide样式 需要显示的时候去掉tbody的hide样式 .hide { display: none; }
尊敬的用户,您好!很高兴为您答疑。   第二个JS中,因为var arry = document.getElementsByTagName("div");所赋予arry[i]的对象,并不原生包含name属性,所以您需要使用arry[i].getAttribute("name")进行指定。解决此类问题,您可以使用遍历循环打印的方式罗列出当前对象的所有属性后再进行判断处理。   希望我的回答对您有所帮助,如有疑问,欢迎继续咨询我们。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
有九盒奶粉,其中8盒每盒600克,另1盒不是600
i58500 的配置清单
The physics problem is too difficult for u
推荐恋爱冒险游戏
一般将来时的构成是什么?(英语)
买奥迪q5好还买奔驰glc3o0好
哈基姆·奥拉朱旺的人物评价
苹果手机的标配版和高配版是什么意思
求六维空间或北邮人邀请码
我涉嫌电信诈骗取保一年需要走什么程序
男生比女生大7岁,算大吗?
空港东方舞蹈艺术培训中心地址在什么地方,我
在方框里填上合适的数。谢谢!(求哪位大虾赐
为什么vivoy27连接上手柄
汉译英:从睡梦中哭醒,泪水打湿了枕头。
推荐资讯
倩女幽魂 一掌风月宝鉴 有棵大树.月亮.和两个
寻仙坐骑在山海升级快还是女儿国
vivo x3t手机升级失败开关机老是重复升级
冬天,地处北部山区的一些居民,为了室内的保
立案登记制是什么意思,登记立案的案件范围有
home is where your heart is 求解释
安徽电力公司检修公司地址有知道的么?有点事
中行的电话银行有什么用?
为什么iphone6玩游戏都要app
得了甲状腺乳头癌,去除了两边的甲状腺,但医
创世空间林宇刘诗帆小说
好实惠连锁超市郫县昌杨副食店这个地址在什么
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?