Skip to content

Instantly share code, notes, and snippets.

Created May 6, 2011 21:24
  • Star 3 You must be signed in to star a gist
  • Fork 4 You must be signed in to fork a gist
Star You must be signed in to star a gist
What would you like to do?
Using node.js to parse HTML with jsdom and modify it with jQuery
* npm install jsdom
* npm install jquery
var html = "<!doctype html><html><body><h1>Hello world!</h1></body></html>";
/* parse the html and create a dom window */
var window = require('jsdom').jsdom(html, null, {
// standard options: disable loading other assets
// or executing script tags
FetchExternalResources: false,
ProcessExternalResources: false,
MutationEvents: false,
QuerySelector: false
/* apply jquery to the window */
var $ = require('jquery').create(window);
/* modify html using jquery */
$('h1').text('World hello!');
$('body').append('<p>Lorem ipsum...</p>');
/* output the modified html with doctype */
console.log( window.document.doctype + window.document.innerHTML );
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment