<script type="text/javascript">
function list()
{
var ddName=document.getElementsByTagName("dd");
var dlName=document.getElementsByTagName("dl")[0];
for(var i=0;i<ddName.length;i++);
{
alert(ddName.length);
alert(ddName[0].nodeName);
alert(ddName[i].nodeName+"....."+ddName[i].nodeValue);
}
}
</script>
</head>
<body>
<dl onclick="list()">
<dt>上层项目开发</dt>
<dd >项目开发一</dd>
<dd>项目开发二</dd>
<dd>项目开发三</dd>
<dd>项目开发四</dd>
<dd>项目开发五</dd>
</dl>
</body>
</html>
为什么第三个alert不能循环输出会报错?大家帮忙下。

解决方案 »

  1.   

        for(var i=0;i<ddName.length-1;i++);
    {
    alert(ddName.length);
    alert(ddName[0].nodeName+","+i);
    alert(ddName[i].nodeName+"....."+ddName[i].nodeValue);
    }//注意要减1
      

  2.   

    <script type="text/javascript">
    function list()
    {
    var ddName=document.getElementsByTagName("dd");
    var dlName=document.getElementsByTagName("dl")[0];
    for(var i=0;i<ddName.length;i++)
    {
    alert(ddName.length);
    alert(ddName[0].nodeName);
    alert(ddName[i].nodeName+"....."+ddName[i].nodeValue);
    }
    }
    </script>
    </head>
    <body>
    <dl onclick="list()">
    <dt>上层项目开发</dt>
    <dd >项目开发一</dd>
    <dd>项目开发二</dd>
    <dd>项目开发三</dd>
    <dd>项目开发四</dd>
    <dd>项目开发五</dd>
    </dl>
    </body>
    </html>
    for循环后面多了各分号
      

  3.   


    看了几分钟才发现你错误在那里了
    for(var i=0;i<ddName.length;i++);//这里的;号不要,要了循环就结束了;下面括号的i就没有值了for(var i=0;i<ddName.length;i++);
      

  4.   

    3楼已经发现了。1楼、4楼 囧,< 和 <=不一样。< 不需要减。
      

  5.   

    for(var i=0;i<ddName.length;i++);//这里的;号不要,要了循环就结束了;下面括号的i就没有值了