Skip to content

Instantly share code, notes, and snippets.

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 );
Copy link

fuddl commented Sep 8, 2014

TypeError: Object [ null ] has no method 'createWindow'

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment