我有一个从XML文件生成的菜单。使用AJAX加载XML文件。菜单中唯一一个硬编码的html是:
<div id="leftNav">
<ul class="level1">
</ul>
</div>
根据XML文件的内容动态创建菜单的其余部分。在Chrome检查器中,应该在菜单中的所有列表元素都在那里。现在,当我尝试计算列表元素的数量时,我得到0.我认为这是因为页面上没有硬编码的列表元素。我用来进行计数的代码是:
alert($('.level1 > li').size());
警告0.
编辑 - 我错放了函数调用,xml没有完成加载。代码确实按预期工作。
在尝试计算列表项之前,解析XML并生成额外列表项的函数已运行。
有关如何获取列表项数量的任何想法?
答案 0 :(得分:1)
它是“。length”而非“.size()”
alert($('.level1 > li').length);
编辑 - 显然我在这里非常搞笑,但我还是会给“.length”一个镜头:-)同时确保你的脚本不会在列表中出现无关紧要的错误<li>
元素 - 尝试更改选择器,使其只是“.level1 li”并查看是否会发生任何变化。
答案 1 :(得分:0)
您应该了解DOM,因为.length
或size()
正在计算li
项,并且加载的DOM中没有li
。
在加载页面后动态添加。您应该在.on()
函数