求一个 循环的JS

是两个div,就是默认展示DIV1.隐藏DIV2,
点击DIV1里的一个A元素,展示DIV2,隐藏DIV1
点击DIV2里的一个A元素,展示DIV1,隐藏DIV2

我现在是这样写的,每一个写一次,要是我写99个的话就要写99个了。求大神帮我简化一下JS

<div class="main">

<div class="live-articles">
<div class="posts">
<div class="r1">
<div class="zh-summary press" style="display:block;">
<div class="right-col shenzhan l1">
<a onclick class="s-onclick show-more">点击展开</a>
</div>
</div>
<div class="zm-item-rich-text press">
<div class="shenzhan l1">
<a onclick class="s-onclick show-less">收起</a>
</div>
</div>
</div>
</div>
</div>

<div class="live-articles">
<div class="posts">
<div class="r2">
<div class="zh-summary press" style="display:block;">
<div class="right-col shenzhan l2">
<a onclick class="s-onclick show-more">点击展开</a>
</div>
</div>
<div class="zm-item-rich-text press">
<div class="shenzhan l2">
<a onclick class="s-onclick show-less">收起</a>
</div>
</div>
</div>
</div>
</div>

</div>

<script type="text/javascript">
$(function(){
$('.l1').click(function(){
$('.r1>div:eq(' + $(this).index() + ')').show().siblings().hide();
})
$('.l2').click(function () {
$('.r2>div:eq(' + $(this).index() + ')').show().siblings().hide();
})

</script>

以下代码实现 点击当前DIV 隐藏自己 显示其它DIV

$("div.zh-summary a,div.zm-item-rich-text a").click(function () {
        $(this).parents("div.live-articles").hide().siblings().show();
 });

我不知道你现在是要 点击 “展开” 还是 点击 “收起” 去实现这效果 不会的加我扣:200592114


或者你要的是这样的

 $(function () {
     $("div.zh-summary a").click(function () {
           $(this).parents("div.zh-summary").hide().next().show();
     });
     $("div.zm-item-rich-text a").click(function () {
           $(this).parents("div.zm-item-rich-text").hide().prev().show();
     });
});

 å¦‚果你需要在2个DIV之间放数据或其他标签就用下面的代码

$(function () {
    $("div.zh-summary a").click(function () {
          $(this).parents("div.zh-summary").hide().next("div.zm-item-rich-text").show();
    });
    $("div.zm-item-rich-text a").click(function () {
          $(this).parents("div.zm-item-rich-text").hide().prev("div.zh-summary").show();
    });
});


如果上面代码 均不能实现你要的效果 可以加扣详谈 

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-06-30
楼上是用jQuery来写的,看规律是每个div都是live-articles,可以试着用each来遍历:

$('.live-articles').find('a').each(function(index, ele){
if($(this).hasClass('show-more')){
$(this).parents('.press').hide().siblings('.press').show();
}else{
$(this).parents('.press').show().siblings('.press').hide();

}
});
第2个回答  2014-06-30
var pics=imgUrl[1];
var links=imgLink[1];
var texts=imgtext[1];
for(var i=2;i<=任意数;i++)
{
pics=pics+"|"+imgUrl[i];
links=links+"|"+imgLink[i];
texts=texts+"|"+imgtext[i];
}追问

别逗我啦,,好好看我的提问