我有一个ajax代码,它将列表项返回为
<li>one</li>
<li>Two</li>
每次都会返回不同数量的<li>
。我想检查它返回的<li>
的数量。如何使用Javascript检查它。请帮助。
答案 0 :(得分:7)
这里你去:
$(returnedHTML).find('li').length
这将使用返回的HTML并仅计算其中的订单项。
答案 1 :(得分:4)
ajaxHtml.split('<li').length - 1
用于计算原始ajax html。
或者,element.getElementsByTagName("li").length
(element
是LI
代码的父容器。)
答案 2 :(得分:1)
你试过了吗?
var elements = document.getElementsByTagName('li');
var count = elements.length;
答案 3 :(得分:0)
如果你需要查看特定的列表,jQuery使它变得简单:
$(“DIV_NAME&gt; ul&gt; li”)。长度
答案 4 :(得分:0)
如果要测试的列表是从AJAX请求中作为字符串输入的,那么您只需将其视为字符串,而不是一组DOM对象。
看看这段代码。
var input = "<li>one</li><li>Two</li>";
var pattern = /<li>/gi;
var match;
var count = 0;
while(match = pattern.exec(input)) {
count++;
}
alert("There are "+count+" occurences of <li> in the input string.");
我在这里做的是使用正则表达式来查找<li>
不区分大小写(只是为了确定)和全局(将整个字符串视为要搜索的单个文本块)。< / p>
答案 5 :(得分:-2)
已修复:有些人认为我在链接点击事件上计算LI并且还没有从html响应中计算它。这是编辑过的答案。
如果你得到这样的HTML回复:
<强> myhtml.html:强>
<ul>
<li>One</li>
<li>Two</li>
<li>Three</li>
</ul>
然后你的jQuery部分可能如下所示:
$.get('myhtml.html', function(data) {
alert( $(data).find("li").length ); // 3
});