Given a DOM node, return a unique CSS selector matching only that element
npm install unique-selectorunique-selector
===============

![CocoaPods]()
![semantic-versioning]()
Given a DOM node, return a unique CSS selector matching only that element.
This is particularly useful when tracking in custom variables in analytics:
document.addEventListener('click', function(event) {
var selector = unique(event.target);
_gaq.push(['_trackEvent', 'Engagement', 'Click', selector]);
}, false);
Installation
------------

Options
------------
e.g.1 DomElement =
``
import unique from 'unique-selector';
// Optional Options
options = {
// Array of selector types based on which the unique selector will generate
selectorTypes : [ 'ID', 'Class', 'Tag', 'NthChild' ]
}
unique( DomElement, options ); // #test
`
e.g.2 DomElement =
`
import unique from 'unique-selector';
// Optional Options
options = {
// Array of selector types based on which the unique selector will be generate
selectorTypes : [ 'Attributes' ]
}
unique( DomElement, options ); // [test="2"]
`
e.g.3 DomElement =
`
import unique from 'unique-selector';// Optional Options
options = {
// Regular expression of ID and class names to ignore
excludeRegex : RegExp( 'xyz|abc' )
}
unique( DomElement, options ); // .test
`
Tests
-----
$ npm run test
Contributing
-----
Feel free to open issues, make suggestions or send PRs.
This project adheres to the Contributor Covenant code of conduct. By participating, you are expected to uphold this code.
Contact
-----
Avraam Mavridis : @avraamakis
Eric Clemmons : @ericclemmons
Releases
--------
- v0.1.0
- Big refactor/rewrite using es6
- More test + Change the test script
- Script to compile es6 to es5 using babel
- Ability to pass options for the selectorTypes based on which the unique selector will be generated, see the options
- v0.0.4
- Handle extra whitespace in
className (#9)- v0.0.3
- Add support for various