Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save grantmichaels/2690131 to your computer and use it in GitHub Desktop.
Save grantmichaels/2690131 to your computer and use it in GitHub Desktop.
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
}).createWindow();
/* 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