jldom

0.1.4 • Public • Published

An implementation of the DOM in CoffeeScript/JavaScript

Intended for use in NodeJS.

I haven't checked the actual DOM compliance, but everything you need is there:

  • Full CSS3 support via NWMatcher.
  • A very tiny HTML parser.
  • DOM-compliant event binding and triggering (bubbling, cancelling, etc).
  • Coming soon: (optional) Mutation Events.

This is not a fork of jsdom.

It assumes the document is going to act like it would in a browser (e.g. it automatically gets a head and body).

No attempt has been made to support XML or Xpath or anything exotic.

Example:

document = require('jldom').createDocument()

document.body.innerHTML = "<div>Hello, World.</div>"

document.toString()
	=== "<html><head/><body><div>Hello, World.</div></body></html>"

document.querySelector("div").toString()
	=== "<div>Hello, World.</div>"

I built this to generate server-side HTML from a NodeJS application. Benchmarks reveal that this is a waste of time. I currently use it to unit test other javascript code that needs a reasonably well-behaved DOM to interact with.

Install:

npm install jldom

Or:

git clone git://github.com/jldailey/jldom.git
cd jldom
make

Versions

Current Tags

  • Version
    Downloads (Last 7 Days)
    • Tag
  • 0.1.4
    2
    • latest

Version History

Package Sidebar

Install

npm i jldom

Weekly Downloads

19

Version

0.1.4

License

none

Last publish

Collaborators

  • jldailey