<html>
<head>
<style type="text/css">
body
    {
       color:red
          
    }</style>
<script language="javascript"type="text/javascript">
           
  
       
                
                
             
</script>
<title>天气预报处理</title>
</head>
<body name=bb id=r >
<form name=ff>
<table border=1 align=center>
<tr align=center>
     
       <td><input name="city" value="昆山" checked=true type="radio">昆山</td>
       <td><input name="city" value="扬州" type="radio">扬州</td>
       <td><input name="city" value="福州" type="radio">福州</td>
       <td><input name="city" value="南通" type="radio">南通</td>
       <td><input name="city" value="宿迁" type="radio">宿迁</td>
       <td><input name="city" value="上海" type="radio">上海</td>
       <td><input name="city" value="南京" type="radio">南京</td>
       <td><input name="city" value="苏州" type="radio">苏州</td>
       
</tr>
<tr> 
      <td align=center colspan=8 ><textarea Name="hq" onchange="document.getElementsByName('convert')[0].disabled=false;" rows="10" cols="70"></textarea></td>
</tr>       
<tr>
       
     <td  align=center colspan=4>  <input name="convert" disabled=true value="get and convert" type="button" > </td>
      <td  align=center colspan=4>  <input name="clear" value="clear" type="button" onclick="alert('一共有'+count(document.documentElement)+'个元素节点');"> </td>
</tr>
       
       
</table>
</form>
<p name=pp>我是天才</p> </body>
</html><script type=text/javascript>
           val=elementsName="";
          
          function count(nn)
          {
          var total=0;
          
          if(nn.nodeType == 1)
          {
            total++;
              elementsName=elementsName+nn.tagName;
          }
          
          
           childrens=nn.childNodes;
       
          var i;
          for(i=0 ;i<childrens.length; i++,total+=count(childrens[i]));
       
          i=0;
          return total;
     
          
          
          }</script>
为什么总是提示说 nn.nodeType==1这行语句有问题,而且说nn.nodeType是空对象,我真想不通,不是空的啊!

解决方案 »

  1.   

    这是写的一个函数来遍历这个HTMLY文档,大哥!
    而且我后来又在 if(nn.nodeType == 1) 
              { 
                total++; 
                  elementsName=elementsName+nn.tagName; 
              } 
              
    的前面添加了一行:
    alert(nn.nodetype)
    结果系统显示出来的是1啊!!!但是为什么到了下面一行语句..也就是if那里就显示nn.nodeType为空对象了,我真的搞了半天也搞不懂,快哭 了
      

  2.   

    问题不是出在  if(nn.nodeType   ==   1) 这里,而是在   for(i=0 ;i <childrens.length; i++,total+=count(childrens[i]));