【发布时间】:2022-01-22 14:37:28
【问题描述】:
我正在使用cheerio.js 来解析一些HTML 文档,但我遇到了一些问题。
问题是我使用的 HTML 文件包含以下代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>
</title>
</head>
<body>
<p>Text 1</p>
<p>Text 2</p>
</body>
</html>
现在,我还有一个类似这样的项目的 javascript 数组:
var items = ["<h2>orange</h2>", "<h2>mango</h2>"];
我想要做的只是将每个 P 标签替换为 items 数组中的相应项目,即:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>
</title>
</head>
<body>
<h2>orange</h2>
<h2>mango</h2>
</body>
</html>
到目前为止我尝试了什么:
var selections = $("p");
for ( let index = 0; index < selections.length; index++ ) {
selections[index].replaceWith(items[index])
}
但它说函数 replaceWith() 无效
【问题讨论】:
-
你检查过选择的内容吗?它是否包含任何
p节点? -
是的。它适用于其他功能,例如获取它的 html,或获取它的属性、innerText、内容和所有内容,除了没有替换功能
-
请阅读How does accepting an answer work?。不要在问题中编辑“已解决”一词。
标签: javascript html node.js loops cheerio