2013-01-08 93 views
1

我是新來的JS,並試圖學習一些基本的東西。我已經花了幾個小時,但我認爲它不應該那麼困難。出於某種原因,我的電腦沒有意識到我在詢問childNodes。爲什麼childNodes不能在這個腳本中工作?

這是一個簡單的腳本,只是試圖計算我有的鋰標籤的數量。我知道還有其他方法可以做到這一點,但我正在嘗試學習這種方式。

<title>To-Do List</title> 
<script> 
    function findComments(){ 
     var bodyTag = document.getElementsByTagName("ol"); 
     var count = 0; 
     for(var i=0;i<bodyTag.childNodes.length;i++){ 
      if(bodyTag.childNodes[i].nodeType == 1){ 
       count++; 
      } 
     } 
     alert(count);  
    } 
    window.onload = findComments; 
</script> 

<!--List is declared--> 
<ol id="toDoList"> 
    <!--List Items are created--> 
    <li>Mow the lawn</li> 
    <li>Clean the windows</li> 
    <li>Answer your email</li> 
</ol> 
<!--Main paragraph--> 
<p id="toDoNotes">Make sure all these are completed by 8pm so you can watch the game on TV!</p> 
    <script> 
</script> 

+0

你的變量指向'ol'被稱爲'bodyTag'? –

回答

1

getElementsByTagName返回一個數組,你需要找回它的第一個元素(從bodyTag將名稱更改爲olTag或東西,因爲它不是身體標記和困惑試圖理解你的代碼)

function findComments(){ 
    var ol = document.getElementsByTagName("ol")[0]; 
    var count = 0; 
    for(var i=0;i<ol.childNodes.length;i++){ 
     if(ol.childNodes[i].nodeType == 1){ 
      count++; 
     } 
    } 
    alert(count);  
} 

而這裏的你真的應該現在就做什麼,你知道什麼是你的代碼錯誤

var ol = document.getElementsByTagName("ol")[0]; 
var liCount = ol.getElementsByTagName("li").length; 
+0

太棒了!非常感謝。完美工作。 – Philip7899

相關問題