2011-06-15 82 views
-1

我试图循环显示div的几个UL列表项。jQuery多个循环

例如,在下面的代码段,我想写一个通用的jQuery函数,将检测出的div和通过列表项克迭代,H,I,J,K,L,M,n和o

要做到这一点,最有效的方法是什么?提前致谢!

例子:

<style> 
#zlt-1 {display:none;} 
</style> 

    <div id="zlt-1" > 
    <ul class="jgrid12 first layoutFrame"> 
     <li>example a</li> 
     <li>example b</li> 
     <li>example c</li> 
    </ul> 
    <ul class="jgrid12 first layoutFrame"> 
     <li>example d</li> 
     <li>example e</li> 
     <li>example f</li> 
    </ul> 
</div> 
<div id="zlt-2" > 
    <ul class="jgrid12 first layoutFrame"> 
     <li>example g</li> 
     <li>example h</li> 
     <li>example i</li> 
    </ul> 
    <ul class="jgrid4 first layoutFrame"> 
     <li>example j</li> 
     <li>example k</li> 
     <li>example l</li> 
    </ul> 
    <ul class="jgrid8 layoutFrame"> 
     <li>example m</li> 
     <li>example n</li> 
     <li>example o</li> 
    </ul> 
</div> 
+3

,你被卡住了...在哪里? – 2011-06-15 06:37:08

+1

你究竟在问什么?我们可以在这里编程,而不是心灵感应。 – Shef 2011-06-15 06:39:56

+1

geez guys,他问如何选择VISIBLE divs。考虑到他在大写字母中输入这个问题并不困难。它可能不完美,但为什么所有的批评? – 2011-06-15 06:40:50

回答

5

使用:visible选择

$('div:visible li').each(function(){ 
    // do something 
}); 
+1

这里是一个jsfiddle的结果:http://jsfiddle.net/Pbvyp/ – 2011-06-15 06:42:18

0

如果我理解正确的话,你想一个jQuery功能。所以,这里是你如何能做到这一点:

(function($){ 
    // define your function here 
    $.fn.listIterator = function(){ 
     return this.each(function(){ 
      $(this) 
       .find('ul li') 
       .each(function(){ 
        // do whatever you like here with list items 
       }); 
     }); 
    } 

    $(document).ready(function(){ 
     // use the function like this 
     $('div:visible').listIterator(); 
    }); 
})(jQuery); 

Here is a demo for you to see it in action