读书人

请教怎么用js遍历lt;dlgt

发布时间: 2012-04-28 11:49:53 作者: rapoo

请问如何用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在动态生成的时候应该如何赋值?


[解决办法]

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> 

读书人网 >JavaScript

热点推荐