试图通过fs从html内容设置属性值,但无法工作。 如何使用javascript或NodeJS实现。
public/index.html:
<!DOCTYPE html>
<html>
<body>
<h1>My First Heading</h1>
<p>My first paragraph.</p>
<div>
<a href="#" id="reset">Link</a>
</div>
</body>
</html>
app.js:
var fs = require('fs');
fs.readFile('./public/index.html', { encoding: 'utf-8' }, function(err, html) {
if (err) {
console.log(err);
} else {
html.find('#reset').setAttribute("href", "http://localhost:4200/home/");
}
});
当你读取一个文件时,你会得到一个字符串(或者一个缓冲区,如果你使用不同的选项)。
字符串不是DOM,所以不能在其中搜索元素。
您需要使用一些可以将其解析为DOM的东西,例如libxmljs或cheerio。 然后您可以使用它来操作它并将它序列化为HTML字符串。