js控制多个div隐藏显示
例如:+sssssss+aaaaaa当点击加号时隐藏加号后面的数据再点击加号时显示数据因为数据是从数据库读出来的我不可能每一条都写个id在写显示和隐藏的方法求高手解答...
例如:
+ sssssss
+ aaaaaa
当点击加号时隐藏加号后面的数据 再点击加号时显示数据 因为数据是从数据库读出来的 我不可能每一条都写个id在写显示和隐藏的方法 求高手解答 展开
+ sssssss
+ aaaaaa
当点击加号时隐藏加号后面的数据 再点击加号时显示数据 因为数据是从数据库读出来的 我不可能每一条都写个id在写显示和隐藏的方法 求高手解答 展开
3个回答
展开全部
简单的写了一小段代码,你可以试试看,如果有用,请选为满意回答.
<body>
<script type="text/javascript">
window.onload=function(){
var os=document.getElementsByTagName('div');
for(var i=0;i<os.length;i++){
os[i].firstChild.setAttribute('onclick','javascript:showhide(this.nextSibling);');
}
};
function showhide(o){
o.style.display=(o.style.display!='none'?'none':'inline');
}
</script>
<div><span>+</span><span>ssssssssss</span></div>
<div><span>+</span><span>aaaaaaaaaa</span></div>
<div><span>+</span><span>bbbbbbbbbb</span></div>
</body>
<body>
<script type="text/javascript">
window.onload=function(){
var os=document.getElementsByTagName('div');
for(var i=0;i<os.length;i++){
os[i].firstChild.setAttribute('onclick','javascript:showhide(this.nextSibling);');
}
};
function showhide(o){
o.style.display=(o.style.display!='none'?'none':'inline');
}
</script>
<div><span>+</span><span>ssssssssss</span></div>
<div><span>+</span><span>aaaaaaaaaa</span></div>
<div><span>+</span><span>bbbbbbbbbb</span></div>
</body>
更多追问追答
追问
os[i].firstChild.setAttribute('onclick','javascript:showhide(this.nextSibling);');在ie中能用吗?我说的加号其实是按钮可以直接添加onclick事件,这段代码不能运行啊?
追答
我是在FireFox下测试的,IE还真没试,不过思路是这样的,如果只在IE下反倒更简单了,用.Event.srcElement来取事件源对象更容易了.
IE下你可以试试这个,但我没有环境无法测试,你只好自己试了
window.onload=function(){
var os=document.getElementsByTagName('div');
for(var i=0;i
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
<body>
<script type="text/javascript">
function showdiv(){
for(var i=0;i<4;i++){
alert(i);
document.getElementById(i).style.display="block";
}
};
</script>
<div onclick="showdiv()">显示</div>
<div id="0" style="display:none"><span>ssssssssss</span></div>
<div id="1" style="display:none"><span>ssssssssss</span></div>
<div id="2" style="display:none"><span>aaaaaaaaaa</span></div>
<div id="3" style="display:none"><span>bbbbbbbbbb</span></div>
</body>
运行下试试,我这试了没问题的
<script type="text/javascript">
function showdiv(){
for(var i=0;i<4;i++){
alert(i);
document.getElementById(i).style.display="block";
}
};
</script>
<div onclick="showdiv()">显示</div>
<div id="0" style="display:none"><span>ssssssssss</span></div>
<div id="1" style="display:none"><span>ssssssssss</span></div>
<div id="2" style="display:none"><span>aaaaaaaaaa</span></div>
<div id="3" style="display:none"><span>bbbbbbbbbb</span></div>
</body>
运行下试试,我这试了没问题的
追问
不用试了,我需要操作的数据数目是不固定的,而不是你现在写的只有4条数据。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
把加号放在内容的父级标签里
然后当点击该加号时用this然后将其子标签隐藏或显示
因为用this 他只会对其本身进行操作 就不用给每个都加ID了
具体的代码我就不写了
看你也应该能看明白
然后当点击该加号时用this然后将其子标签隐藏或显示
因为用this 他只会对其本身进行操作 就不用给每个都加ID了
具体的代码我就不写了
看你也应该能看明白
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询