首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

请教怎么用js遍历<dl>

2012-04-28 
请问如何用js遍历dldl iddl1dtaa/dtddulliaaa/ lilibbb/ li/uldddtbb/dt

请问如何用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> 

热点排行