Node.js 像标准 javascript 一样检查 dom

发布于 2024-09-14 18:12:19 字数 117 浏览 3 评论 0原文

如何从 html 源创建 document 对象并使用 document.* 函数(如 Node.js 中的 getElementById)?

How is it possible to create document object from html source and use document.* functions like getElementById in node.js?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

不语却知心 2024-09-21 18:12:19

您可能想要 DOM 的 javascript 实现,jsdom

You probably want something like the javascript implementation of the DOM, jsdom.

如果您只想使用类似 jQuery 的 API 来遍历和摆弄 HTML 标记,更好的选择是 cheerio

jsdom 是一个成熟的 DOM 实现,甚至可以运行页面自带的 JS。结果,它相当重。如果您不需要任何这些功能,cheerio 的速度要快 8 倍。

var cheerio = require('cheerio'),
    $ = cheerio.load('<h2 class="title">Hello world</h2>');

$('h2.title').text('Hello there!');
$('h2').addClass('welcome');

$.html();
//=> <h2 class="title welcome">Hello there!</h2>

If you just want to use a jQuery-like API to traverse and fiddle with HTML markup, a better option is cheerio.

jsdom is a full-fledged DOM implementation that can even run the JS that comes with a page. As a result, it's pretty heavy. If you don't need any of that functionality, cheerio is 8x faster.

var cheerio = require('cheerio'),
    $ = cheerio.load('<h2 class="title">Hello world</h2>');

$('h2.title').text('Hello there!');
$('h2').addClass('welcome');

$.html();
//=> <h2 class="title welcome">Hello there!</h2>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文