javascript - 如何从html中提取一些<li>(在ol/ul标签下)标签

标签 javascript jquery regex

我有如下的 html 字符串(js 字符串)

<ol class="testClass">
<li>test1</li>
<li>testing2</li>
<li>testing3</li>
<li>testing4</li>
<li>testing5</li>
<li>testing6</li>
</ol>

我只需要 2 到 3 个列表项,并丢弃其余的(如下所示)

<ol class="testClass">
<li>test1</li>
<li>testing2</li>
<li>testing3</li>
</ol>

知道如何做到这一点吗?我可以使用 jQuery 返回 ol 的子集吗?或者有一个正则表达式吗?

编辑:

非常感谢您的回答。我有一个子问题(抱歉,我应该用原始问题来问这个问题)

我想只限制测试类对应的li(而不考虑删除testClass2下的li)。

<ol class="testClass">
<li>test1</li>
<li>testing2</li>
<li>testing3</li>
<ul class="testClass2">    
 <li>testing4</li>
<li>testing5</li>
</ul>
<li>testing6</li>

</ol>

我尝试过类似的方法

html.not('.testClass2').find("li:gt(3)").remove();

但仍在考虑内部元素

这似乎有效:

html.find("ol>li:gt(4)").remove();

最佳答案

您可以简单地将它们转换为 DOM 元素,并使用普通选择器。

听起来您只想附加前 3 个 li 元素,因此只需捕获 ul 的子元素,并在附加到页面之前对前 3 个进行切片.

$(my_string).children("li").slice(0, 3).appendTo("#target");

关于javascript - 如何从html中提取一些<li>(在ol/ul标签下)标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29043057/

相关文章:

javascript - React Redux 元素未更新

javascript - 检测div何时为 "unloaded"

java - 字符串正则表达式无法分割闭括号中的单词

javascript - 如何选择 HTML 标签之间的某些文本而不是 anchor 标签

php - 使用变量作为高度和宽度的值

python - 为什么正前瞻有效但负前瞻无效?

javascript - 在 MVC 3 中生成 Knockout 标记

javascript - 如何提高 javascript 数组操作中嵌套循环的性能?

javascript - 在 jQuery DataTables 中使用 "later"变量

javascript - 如何根据 Ajax 请求的结果提交(或不提交)表单?