请教怎么用js遍历
请问如何用js遍历<dl>
<dl id="dl1">
<dt>aa</dt>
<dd>
<ul>
<li>aaa</ li>
<li>bbb</ li>
</ul>
<dd>
<dt>bb</dt>
<dd>
<ul>
<li>111</ li>
</ul>
<dd>
</dl>
动态生成的<dl>和<ul>,类型于淘宝购物界面选择商品属性的效果。
就是遍历<dl>中有多少个节点应该怎么遍历?
然后再循环中还要遍历ul,这个ul的id在动态生成的时候应该如何赋值?
------解决方案--------------------
<dl id="dl1">
<dt>aa</dt>
<dd>
<ul>
<li>aaa</ li>
<li>bbb</ li>
</ul>
<dd>
<dt>bb</dt>
<dd>
<ul>
<li>111</ li>
</ul>
<dd>
</dl>
动态生成的<dl>和<ul>,类型于淘宝购物界面选择商品属性的效果。
就是遍历<dl>中有多少个节点应该怎么遍历?
然后再循环中还要遍历ul,这个ul的id在动态生成的时候应该如何赋值?
------解决方案--------------------
- HTML code
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>无标题文档</title> </head> <body> <dl id="dl1"> <dt>aa</dt> <dd> <ul> <li>aaa</li> <li>bbb</li> </ul> <dd> <dt>bb</dt> <dd> <ul> <li>111</li> </ul> <dd> </dl> <script type="text/javascript"> var dl1 = document.getElementById('dl1'); var counter = 0; function showNode(pNode) { for(var i = 0; i < pNode.childNodes.length; i ++) { if (pNode.childNodes[i].nodeType == 1) { alert('找到子元素节点:' + pNode.childNodes[i].nodeName); counter ++; if (pNode.childNodes[i].childNodes.length > 0) showNode(pNode.childNodes[i]); } } } showNode(dl1); document.write('共有' + counter + '个元素节点'); </script> </body> </html>