我需要更新以下HTML,以便用<li><li-text>{li value}</li-text>
Package 每个<li>
<ul><li>one</li><li>two<ul><li>three<ul><li>four<ul><li>five</li></ul></li></ul></li></ul></li></ul>
提示:我只使用JS,没有JQUERY
我正在尝试这个,但它并不像预期的那样工作!
var html = `<ul><li>one</li><li>two<ul><li>three<ul><li>four<ul><li>five</li></ul></li></ul></li></ul></li></ul>`.replace(/<li[^>]*>/g,'<li><li-text>$&</li-text>')
我得到的结果不正确!list的值应该在<li-text></li-text>
标签之间!
<ul><li><li-text><li></li-text>one</li><li><li-text><li></li-text>two<ul><li><li-text><li></li-text>three<ul><li><li-text><li></li-text>four<ul><li><li-text><li></li-text>five</li></ul></li></ul></li></ul></li></ul>
2条答案
按热度按时间snz8szmq1#
忘记自己解析HTML。您可以使用浏览器的内置解析器,选择您的
li
元素,并使用li-text
替换要 Package 的内容。jq6vz3qz2#
将内容解析为HTML,选择所有
<li>
元素,然后用 Package 器替换每个直接子文本节点:试试看: