从ajax响应中计算列表元素

时间:2013-01-28 13:28:56

标签: jquery

的jQuery

$.ajax({
    url : "/assets/inc/list.php",
    success : function (data) {
        console.log($(data).filter('li').size());
    }
});

使用上面我尝试了那个php中列表项的总数,因为响应放回了

列表
<li>

包含内容

但是我收到了一个

的console.log错误
  

错误:语法错误,无法识别的表达式:

之后我的名单就回复了。

数据示例

<li>
    <strong>Company Name</strong>
    123 Fake Street<br />
    Fakesville<br />
    <a href="#">Link</a>
</li>
<li>
    <strong>Company Name</strong>
    123 Fake Street<br />
    Fakesville<br />
    <a href="#">Link</a>
</li>
<li>
    <strong>Company Name</strong>
    123 Fake Street<br />
    Fakesville<br />
    <a href="#">Link</a>
</li>
<li>
    <strong>Company Name</strong>
    123 Fake Street<br />
    Fakesville<br />
    <a href="#">Link</a>
</li>
<li>
    <strong>Company Name</strong>
    123 Fake Street<br />
    Fakesville<br />
    <a href="#">Link</a>
</li>

3 个答案:

答案 0 :(得分:4)

你可以用它。这将获取数据并仅计算其中的行项目。这是doc

$.ajax({
    url : "/assets/inc/list.php",
    success : function (data) {
        console.log($(data).find('li').length);
    }
});

答案 1 :(得分:0)

试试这个

JS CODE

$.ajax({
    url : "/assets/inc/list.php",
    success : function (data) {
        console.log($(data).find('li').length);
    }
});

答案 2 :(得分:0)

“语法错误”来自$(data)部分,这意味着data包含格式错误的标记代码。您需要在服务器端修复此问题。