为什么把列表#list里的li标签删掉alert对话框怎么还会出现啊?
这个方法不是检查给定元素里是否有子节点吗?

<html>
<head>
<title>我的主页</title>
<style type="text/css">
div{width:300px;margin:55px auto;border:1px solid #ccc;}
ul{
list-style:none;
}
ul li{
background:url(list.gif) 3px center no-repeat;
height:25px;
border-bottom:1px solid #ccc;
line-height:25px;
padding-left:14px;
}
h3{
background:#c00 url(list.gif) 0 center no-repeat;
font-size:12px;
height:25px;
line-height:25px;
padding-left:15px;
}
*{margin:0;padding:0;}
a{font-size:13px;text-decoration:none;}
#paragraph{width:500px;background:orange;border:1px solid #c00;line-height:30px;}
</style>
</head>
<body>
<ul id="list">
</ul>
<p id="paragraph">我的段落文本!</p>
<div id="divs">
<h3>导航栏</h3>
</div>
<p>
<label for="user">用户名:</label>
<input type="text" size="20" id="user" value="请输入用户名!" name="" />
</p>
<script type="text/javascript">
var paragraph = document.getElementById("list");
if(paragraph.hasChildNodes){
alert("sss");
}
</script>
</body>
</html>

解决方案 »

  1.   

    你试试<br id='list'/>
    你会发现它应该无childnodes<ul id="list">
            </ul>
    是有子节点的,这个节点叫#text,如果你用的是IE8,打开"开发工具F12",看看就知道了
      

  2.   

    你要坚查li最好的方法是
    var paragraph = document.getElementById("list").getElementsByTagName("li");
    判断 paragraph.length
      

  3.   

     if(paragraph.hasChildNodes){
                    alert("sss");
                }
    你这个是测试paragraph有没有hasChildNodes方法,当然为true了!
    应该是这样:if( paragraph.hasChildNodes() ){}