
auto-id
Automatically creates a collection of element references keyed from the ID attribute of all page elements
Comes in handy when writing Electron apps, OS X Cocoa apps with webviews, websites... basically anything that uses HTML / JS / CSS as the view.
The module queries all DOM elements with an id attribute and stores reference to that element in a collection keyed off the camel-cased id value.
For example, assuming the markup below:
...
<body>
<div id="container">
<div id="main-title"></div>
</div>
</body>
...
auto-id
allows us to access all elements with an id
attribute without writing queries (or querying the DOM):
var dom = require('auto-id');
dom.refresh();
dom.container.style.color = '#333';
dom.mainTitle.textContent = 'New text here';
document.body.appendChild(someElement);
dom.refresh();
dom.someElementsId.visibility = 'visible';
Installation
Install via npm:
$ npm i auto-id --save
Usage
By default, this module exports a shared instance.
The constructor can be accessed via the export's AutoId
property (see below).
To access the shared instance (probably what you want):
var dom = require('auto-id');
dom.someId.style.transform = 'scale(2)';
Access the constructor:
var AutoId = require('auto-id').AutoId;
var dom = new AutoId();
dom.someId.style.transform = 'scale(2)';
Tests
Tests are written in tape
.
$ npm test
Coverage
Test coverage is provided via Istanbul
.
$ npm run coverage