首页 > 解决方案 > 在输出到 HTML 之前计算数据中的列表项

问题描述

我有一个使用 ajax 返回的列表,看起来像这样......

console.log(data);

<ul><li>Item 1</li><li>Item 2</li><li>Item 3</li></ul>

我将它插入到这样的 HTML 元素中......

$("#output").html(data);

这工作正常,但我想在将列表项输出到元素之前计算列表项的数量。我尝试了以下方法,但它只是给了我字符数......

console.log(data.length);

我哪里错了?在输出 HTML 之前有没有办法做到这一点?

标签: javascriptjquery

解决方案


您的数据只是一个字符串,因此您可以使用 jQuery 将其转换为 jquery 对象,然后li从该对象中选择元素并获取长度。

const data = '<ul><li>Item 1</li><li>Item 2</li><li>Item 3</li></ul>'
const html = $(data);

console.log(html.find('li').length)

$("#output").html(html);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="output"></div>


推荐阅读