首页 > 解决方案 > 如何在javascript中查找id和设置属性

问题描述

试图通过 fs 从 html 内容中设置属性值但不起作用。如何使用 javascript 或 nodejs 做到这一点。

公共/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>

应用程序.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/");
   }
   });

标签: javascriptnode.js

解决方案


您可以cheerio像提到的@Quentin 一样使用。或者您可以为html 文件中的属性
添加占位符。href

<div id="reset" href="%%RESET_PLACEHOLDER%%">content</div>

然后您可以使用方法替换占位符string.replace()

const fs = require('fs');

const path = __dirname + '/public/index.html'; //file path

fs.readFile(path, {encoding: 'utf8'}, (err, data) => {
  let dataToWrite = data.replace(/%%RESET_PLACEHOLDER%%/g, 'hrefVal');
  fs.writeFile(path, dataToWrite, (err) => {
    console.log('file written');
  });
});

推荐阅读