我是JS的新手,并试图学习一些基本的东西。我花了好几个小时,但我认为不应该那么困难。出于某种原因,我的计算机没有意识到我要求childNodes。
这是一个简单的脚本,只是试图计算我拥有的li标签的数量。我知道还有其他方法可以做到这一点,但我正在努力学习这种方式。
<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 :(得分:1)
getElementsByTagName
返回一个数组,你需要检索它的第一个元素(并将名称从bodyTag更改为olTag或者其他东西,因为它不是body标签,并且混淆了我试图理解你的代码)
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;