//这段代码怎么不弹出对话框,只是在页面里显示?
<html>
<head>
<script language="javascript" type="text/javascript">
function testDom()
{
var tUl=document.getElementById("ul");
var strTest="";
if(tUl.hasChildNodes)
{
for(var i=0;i<tUl.childNodes.length;i++)
{
strTest+=tul.childNodes[i].nodeValue;
}
}
alert(strTest);
}
</script>
</head>
<body onload=testDom()>
<ul id="ul">
<li>chenggong</li>
<li>zhuiqiu</li>
<li>hanxing</li>
</ul>
</body>
</html>

解决方案 »

  1.   


    function testDom()
    {
        var tUl=document.getElementById("ul");
        var strTest="";
        if(tUl.hasChildNodes)
        {
            for(var i=0;i<tUl.childNodes.length;i++)
            {
                strTest+=tUl.childNodes[i].nodeValue;
            }
        }
        alert(strTest);
    }
      

  2.   


    对话框弹出来的结果为什么是3个"null"???
      

  3.   

            for(var i=0;i<tUl.childNodes.length;i++)
            {
                strTest+=tUl.childNodes[i].nodeValue;
            }
      

  4.   


    <html>
    <head>
    <script language="javascript" type="text/javascript">
    function testDom()
    {
        var tUl=document.getElementById("ul");
        var strTest="";
        if(tUl.hasChildNodes)
        {
            for(var i=0;i<tUl.childNodes.length;i++)
            {
                strTest+=tUl.childNodes[i].nodeValue;
            }
        }
        alert(strTest);
    }
    </script>
    </head>
    <body onload=testDom()>
    <ul id="ul">
    <li>chenggong</li>
    <li>zhuiqiu</li>
    <li>hanxing</li>
    </ul>
    </body>
    </html>
      

  5.   

    <script language="javascript" type="text/javascript">
    function testDom()
    {
        var tUl=document.getElementById("ul");
        var strTest="";
        if(tUl.hasChildNodes)
        {
            for(var i=0;i<tUl.childNodes.length;i++)
            {
                strTest+=tul.childNodes[i].nodeValue;
            }
        }
        alert(strTest);
    }
    </script>原因:javascript 有个特点,一旦遇到错误,后面代码就不工作了,但之前的代码是可以运行的,验证如下
    如果你在 if(tUl.hasChildNodes) 前面 加alert("working"); 肯定弹出框,因为中间你变量tUl误写成tul导至出错所以后面的alert(strTest);就不工作了,呵呵
      

  6.   


    function testDom()
    {
        var tUl=document.getElementById("ul");
        var strTest="";
        if(tUl.hasChildNodes)
        {
            for(var i=0;i<tUl.childNodes.length;i++)
            {
                strTest+=tUl.childNodes[i].childNodes[0].nodeValue;
            }
        }
        alert(strTest);
    }
    你拿到的只是LI.不是文本节点.
      

  7.   

    同意:<html>
    <head>
    <script language="javascript" type="text/javascript">
    function testDom()
    {
        var tUl=document.getElementById("ul");
        var strTest="";
        if(tUl.hasChildNodes)
        {
            for(var i=0;i<tUl.childNodes.length;i++)
            {alert(tUl.childNodes[i].tagName)
    ////            strTest+=tul.childNodes[i].nodeValue;
                strTest+=tUl.childNodes[i].nodeValue;
            }
        }
        alert(strTest);
    }
    </script>
    </head>
    <body onload=testDom()>
    <ul id="ul"><li>
    chenggong</li><li>
    zhuiqiu</li><li>
    hanxing</li>
    </ul>
    </body>
    </html>
      

  8.   


    <html>
    <head>
    <script language="javascript" type="text/javascript">
    function testDom()
    {
        var tUl=document.getElementById("ul");
        var strTest="";
        if(tUl.hasChildNodes)
        {
            for(var i=0;i<tUl.childNodes.length;i++)
            {alert(tUl.childNodes[i].tagName)
    ////            strTest+=tul.childNodes[i].nodeValue;
                strTest+=tUl.childNodes[i].childNodes[0].nodeValue;
            }
        }
        alert(strTest);
    }
    </script>
    </head>
    <body onload=testDom()>
    <ul id="ul"><li>
    chenggong</li><li>
    zhuiqiu</li><li>
    hanxing</li>
    </ul>
    </body>
    </html>
      

  9.   


    <html>
    <head>
    <script language="javascript" type="text/javascript">
    function testDom()
    {
        var tUl=document.getElementById("ul");
        var strTest="";
    alert("working"); 
        if(tUl.hasChildNodes)
        {
            for(var i=0;i<tUl.childNodes.length;i++)
            {
                strTest+=tUl.childNodes[i].childNodes[0].nodeValue;
    alert(strTest);
            }
        }
        alert(strTest);
    }
    </script>
    </head>
    <body onload=testDom()>
    <ul id="ul">
    <li>chenggong</li>
    <li>zhuiqiu</li>
    <li>hanxing</li>
    </ul>
    </body>
    </html>