javascript - GetElementsByTagName(标签).length

标签 javascript html dom

我试图计算 <li> -<ul> 中的元素- list 。我希望它能像这样工作:

(JavaScript):

var ul = document.getElementById('listing');
function countLi(){
    alert("There are "+ul.getElementsByTagName('li').length+" Li-Elements in this Documnet!");
}

(HTML):

<input type="button" onclick="countLi()" value="Count the Li's!"/>
<ul id="listing">
    <li>one</li>
    <li>two</li>
    <li>three</li>
</ul>​

它告诉我,“ul 为空”。那么我的错在哪里呢?

亲切的问候, 沃蒂

编辑: 啊,是的。 I did a Fiddle for you .

最佳答案

你的问题是这一行:

var ul = document.getElementById('listing');

在您的 ul 之前执行存在。要么将你的整个脚本移动到你的 </ul> 下面, 将您的代码放在 window.onload 中/$(document).ready回调,或者只是将该行移动到您的函数中(这也会使您的 ul 变量在该函数的本地范围内):

function countLi(){
    var ul = document.getElementById('listing');
    alert("There are "+ul.getElementsByTagName('li').length+" Li-Elements in this Documnet!");
}

关于javascript - GetElementsByTagName(标签).length,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10819972/

相关文章:

javascript - Angular 1.5 组件问题 - 当更改为另一个状态时,如何将来自其 Controller 的函数 'reset' ?

jquery - 如何对齐 DIV 包含没有空格的字符串

javascript - 在 canvas html5 中绘制方向为直立且模式为 vertical-rl 的文本

google-chrome - 将 Google Chrome 升级到版本 63.0.3239.84 后,我开始收到错误和警告

php - 使用 PHP DOM 的具有混合内容的 XML 节点

javascript - 动态 DOM 和 jQuery

javascript - Google Apps 脚本 - 使用侧边栏表单将行附加到电子表格

php - 使用 jquery 发送电子邮件不起作用 :PHP

javascript - Angular ui-grid 渲染的回调函数

html - 为什么 flex 元素不缩小过去的内容大小?