Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »

    jldompublic

    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
    

    install

    npm i jldom

    Downloadsweekly downloads

    28

    version

    0.1.4

    license

    none

    repository

    githubgithub

    last publish

    collaborators

    • avatar