jQuery 两重循环

随便学过程序的人肯定会这样的写法
for(i=0; i<5; i++){
   for(j=0; j<5; j++){
   //do some thing}
}

这样的两重循环 经常用 在JQ 里面 循环就像是隐式的 看不到 i< i++ 之类的

但是设想 你有 N个同样的 子元素 每个子元素里面又包含M个子子元素 如何遍历他们并且执行相应操作呢? 这个问题也同样出现在解析XML 里面。今天闲着没事就自己写了一个两重的循环 解决了一个信息切换的问题

下面的代码用了 两次 each 分别对外层的dl 和 每个dl 下面的dd 遍历 需要注意的是每个each的序列分别为 i和 j 。有时候就顺手写.each(function(i){}) 这样序列就一样了 引起了混乱。所以一定要注意 。本身这个例子没有什么 只是提示了两重 或者多重循环的 计数器变量问题 有这个思路 你就可以写N重的循环了。

解释一下下面脚本的意思:

.comm 下的dl 的每一个dd 经过的时候 其dt 里面相应序列的a标签显示 其他的隐藏 由此造成了一个切换效果 这样的好处是 .comm 下面无论多少个dl 都正常转 而且各转各的 因为我给dl 进行了一重循环遍历 哎。。jQuery 的选择器和连操作真强大啊

jQuery(document).ready(function(){
    jQuery(".comm dl").each(function(i){
    jQuery(".comm dl").eq(i).find("dd").each(function(j){
     jQuery(".comm dl").eq(i).find("dd").eq(j).mouseover(function(){
     jQuery(".comm dl").eq(i).find("dt").find("a").eq(j).show().siblings().hide()              
     })            
    })       
   })  
})

结构:

<div class="comm">
          <h2>名家评论</h2>
            <dl>
                <dt>
                <a href="#nogo"><img src="images/temp/03.jpg" alt="" /><span>点内贾德浮动</span></a>
                    <a href="#nogo"><img src="images/temp/03.jpg" alt="" /><span>第二条新闻</span></a>
                    <a href="#nogo"><img src="images/temp/02.jpg" alt="" /><span>第三条新闻</span></a>
                    <a href="#nogo"><img src="images/temp/03.jpg" alt="" /><span>这是四条新闻</span></a>
                    <a href="#nogo"><img src="images/temp/03.jpg" alt="" /><span>第五条新闻了</span></a>
                </dt>
                <dd><a href="#nogo">去体坛群星闪耀福布斯名榜布名人</a></dd>
                <dd><a href="#nogo">周杰伦北京奥运主歌出布名人炉 </a></dd>
                <dd><a href="#nogo">首批奥运候名人选保安月薪1000</a></dd>
                <dd><a href="#nogo">奥运冠军2布斯名人0年已翻33倍 </a></dd>
                <dd><a href="#nogo">奥运冠军2布斯名人0年已翻33倍 </a></dd>
            </dl>
            <dl>
                <dt>
                <a href="#nogo"><img src="images/temp/03.jpg" alt="" /><span>点内贾德浮动</span></a>
                    <a href="#nogo"><img src="images/temp/03.jpg" alt="" /><span>第二条新闻</span></a>
                    <a href="#nogo"><img src="images/temp/02.jpg" alt="" /><span>第三条新闻</span></a>
                    <a href="#nogo"><img src="images/temp/03.jpg" alt="" /><span>这是四条新闻</span></a>
                    <a href="#nogo"><img src="images/temp/03.jpg" alt="" /><span>第五条新闻了</span></a>
                </dt>
                <dd><a href="#nogo">去体坛群星闪耀福布斯名榜布名人</a></dd>
                <dd><a href="#nogo">周杰伦北京奥运主歌出布名人炉 </a></dd>
                <dd><a href="#nogo">首批奥运候名人选保安月薪1000</a></dd>
                <dd><a href="#nogo">奥运冠军2布斯名人0年已翻33倍 </a></dd>
                <dd><a href="#nogo">奥运冠军2布斯名人0年已翻33倍 </a></dd>
            </dl>
           
          </div>

样式:

.comm dl{ padding:10px 10px 0; height:96px; display:block; clear:both;overflow:hidden;}}
.comm dt a{ display:block;}
.comm dt{ float:left; margin-right:10px;
.comm dt img{ width:75px; height:75px; border:1px solid #000;}
.comm dd { float:left; padding-left:10px; background:url(../img/ico/001.gif) 0 8px no-repeat; height:20px; line-height:20px; }
.comm dd a{ float:left; text-align:left; width:170px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值