domx is a small, extensible library to help you embrace the native DOM in a simple, direct, and very powerful way.
Please check out the demo, the API and the F.A.Q.
NPM: npm install domx
Download: domx.min.js, [domx.min.js.gz][domx-gz]
Includes each()
, query()
, queryAll()
, only()
, not()
, all()
, nearest()
, farthest()
, closest()
, insert()
, remove()
, toArray()
, document.x.add()
, document.x.alias()
, emmet abbreviations in insert()
, and dot():
Download: domx.tiny.min.js, domx.tiny.js.gz
Includes each()
, query()
, queryAll()
, only()
, not()
, all()
, nearest()
, farthest()
, closest()
, insert()
, remove()
, document.x.add()
, document.x.alias()
, and toArray()
:
The basic version with the most useful plugins (domx-value and domx-repeat) inserted. Those who used these plugins as part of the primary artifact prior to version 0.16.0 may use this artifact until they add the new projects for the plugins as dependencies. Download: domx.full.min.js, domx.full.min.js.gz
These were originally part of [domx][domx] or its demo and have been pulled out into separate projects.
Download:
- domx-value.js - Extension that adds a powerful
xValue
getter/setter to nodes andqueryName(name)
andqueryNameAll(name)
functions to nodes and lists. These make it trivial to read/write rich, typed, and even nested model values to/from the DOM. - domx-repeat.js - Extension that adds a
repeat([value])
function to nodes and lists for easy duplicating of DOM structures. It takes an optional value parameter that will set xValue for the repeated node(s) if you also are using the domx-value extension. - domx-stringify.js - Extension that adds a
stringify()
function to nodes and lists to generate string versions of DOM nodes. - demo-x - Web component for interactive, scripted code demos.
- random-x - Simple web component for random display of one of the child elements (mostly used as an example).
- 2014-05-04 v0.7.0 (first public release)
- 2014-05-13 v0.8.1 (repeat(), append())
- 2014-05-30 v0.9.1 (not(), all(), dot())
- 2014-09-08 v0.10.3 (utmost(), complete xvalue rewrite)
- 2014-09-22 v0.11.2 (s/utmost()/farthest(), closest(), value change events)
- 2014-10-28 v0.12.0 (reorganize secondary versions/plugins)
- 2014-11-10 v0.13.2 (s/DOMxList/XList, s/properValue/xValue, list.queryNameAll)
- 2014-11-10 v0.14.2 (document.x, s/D.extend/D.x.add, s/D._.resolve[]/D.x.alias(), 'x-' attributes)
- 2014-12-04 v0.15.0 (not(node), s/closest()/nearest(), polyfill version of closest())
- 2014-12-11 v0.16.1 (move xValue and repeat() out to domx-value and domx-repeat)
- 2016-09-22 v0.17.0 (s/append/insert to avoid conflict with Safari 10's unadvertised, unspecified, and undocumented HTMLElement.prototype.append)
- 2017-04-06 v0.17.2 (emmet updates, including minimal (non-nested) group support)