gpt4 book ai didi

javascript - 去除每个子元素的 html

转载 作者:行者123 更新时间:2023-11-30 09:37:45 25 4
gpt4 key购买 nike

假设我有像这样的脏 html...

let dirty = `
<pre>
pre tag with <b>html</b>
</pre>
<pre>
another pre tag with <b>html</b>
</pre>
`

我需要从 pre 标签的每个子标签中去除 html...

我正在做这个...

let $ = cheerio.load(dirty)
$('pre').each(function() {
let text = $(this).text()
console.warn(text) // html are stripped
return `<pre>${text}</pre>`
});
console.log($.html()) // html are not stripped

我错过了什么..??

最佳答案

首先,请注意,虽然从技术上讲您可以使用反引号分隔多行字符串,但 IE 完全不支持它,因此不能可靠地使用它。您需要使用引号 (') 或双引号 (")。

你的逻辑的问题是你在每个循环中定义了 text 变量,但是什么都不做,因为从 each() 返回是多余的。

要解决此问题,您可以简单地使用 text() 方法从给定元素中删除任何子 HTML。试试这个:

let dirty = '<pre>pre tag with <b>html</b></pre><pre>another pre tag with <b>html</b></pre>';

$('body').append(dirty);
$('pre').text(function(i, t) {
return t;
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

关于javascript - 去除每个子元素的 html,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42651171/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com