2010-08-02 42 views
1

UL LI1 LI2 UL3 li3.1 li3.2 ul3.3 ul3.3.1 ul3.3.2 合谷 LI5遍历表与子表的JavaScript

,我必须检查所有项目在UL3我不能肯定如果只有两个或三个或多个列表

+0

谢谢,我会尽力您的解决方案,我已经找到了合适的词(至少希望如此:))我需要检查树开头的一个分支从“this”到最后一页,我为我的糟糕英语appologise目前我正在改进它 – Bohdan 2010-08-02 21:20:54

回答

3

好了,我不知道你所说的“检查”的意思,但你可以有一个函数被调用每一个<li>这样的:

$('li').each(function() { 
    // whatever "check" means 
}); 

只需普通的JavaScript:

var nodes = document.getElementsByTagName('li'); 
for (var i = 0; i < nodes.length; ++i) { 
    var li = nodes[i]; 
    // check ... 
} 

编辑 —以及目前尚不清楚您究竟需要什么,但如果您只需要检查<li>元素列表中的<li>元素,那么yo u'd只是代码到jQuery选择:

$('ul ul li').each(function() { ... }); 
+0

+1普通JavaScript,因为本地循环总是比JQuery快。 – Anders 2010-08-02 21:13:51

3

使用each()这样的:

$('ul li').each(function(){ 
    // your code..... 
}); 

这将循环通过任何嵌套级别的ul儿童。

更新:

,我必须检查UL3所有项目我 不能肯定,如果只有两个或 三个或三个以上列出

试试这个在案例:

$('ul:eq(2) li').each(function(){ 
    // your code..... 
}); 

这将从第三ul开始,并找到它的孩子在任何嵌套级别。