A lighter, faster, modular jQuery replacement (manipulate DOM, bind events, and more...)
<script src="dollar.min.js"></script>
Available as an NPM package
$ npm install dollar-js --save
var $ = require('dollar-js');
See more examples in our API Documentation
var $body = $('body').css({ background: '#369' });
$body.addClass('foo').on('click', function () { console.log(this.className); });
For optimal performance, Ajax features are not included in DollarJS by default. If you need them, simply add the DollarJS Ajax Plugin to your page alongside the original library.
<script src="dollar.js"></script>
<script src="dollar.ajax.js"></script>
From Github
$ git clone [email protected]:seebigs/dollar-js.git
$ cd dollar-js
$ npm install
From NPM
$ npm install dollar-js
$ cd node_modules/dollar-js
$ npm install
In the current build, we clock ourselves at over 4x faster on average across various operations!
See for yourself
$ npm run benchmark
If you need a custom build
$ npm run build --modules=core,animate,style
$ cat prebuilt/dollar.min.js
Available Modules:
- core (always included)
- animate
- compat
- filter
- mutate
- readwrite
- style
- traverse
- trigger
We have strong test coverage that compares DollarJS behavior against similar methods in jQuery and against expected results on a fixtured document
$ npm run test
$ node bundl test --run=path/in/spec.js
$ node bundl test --run=path/to/category
Currently, these unit tests only run in a Node.js environment, but we have plans to expand our automated coverage across browsers.
Help us make DollarJS as useful and compatible as possible.
Report and discuss issues on Github
Please review our limitations and help us to overcome them.
Contribute changes using the following steps:
- Create a new feature branch from the latest master, then make and save your changes
- Run
npm run test
and ensure that all tests pass - Commit your changes to your branch
- Add a pull request and get some code review
- Merge your branch into master
Publish the latest changes:
- Increment the DollarJS version number in package.json following semantic versioning ("x.y.1" -> "x.y.2")
- Commit this change to master with the new version number in your message ("CB: npm publish x.y.2")
- Run
npm publish
from the project root