scan
v0.9.0
Published
querySelectorAll selector engine
Maintainers
Readme
scan
standalone querySelectorAll selector engine with jQuery-like interface
$ npm install scan --saveBasic usage
var scan = require('scan')
scan('.example').find('a').not('[href^="#"]')API (0.9)
scan(query, context?)
scan(selector)→ elements that match selectorscan(selector, node|nodes)→ elements that match selector from node or any nodesscan(node|nodes)→ nodes wrapped inscaninstance
.find(needle)
scan(query).find(selector)→ descendants that match selectorscan(query).find(element|elements)→ elements that descend from queryscan(stack).find(fn, scope?)→ the first value to passfn.call(scope, value, i, stack)
.filter(needle)
scan(query).filter(nodes, selector)→ stack filtered by selectorscan(query).filter(fn)→ stack filtered byfn.call(element, i)scan(query).filter(element|elements)→ stack filtered by one or more elementsscan(array).filter(values)→ the intersection of 2 arrays
.not(needle)
scan(query).filter(selector)→nodesfiltered againstselectorscan(query).not(fn)→ stack filtered againstfn.call(element, i)scan(query).not(element|elements)→ stack filtered against one or more elementsscan(array).not(values)→ the difference of 2 arrays
#find(needle)
scan.find(selector, context?)→ array of elements that match selectorscan.find(stack, fn, scope?)→ the first value to passfn.call(scope, value, i, stack)
#matches(element, selector)
scan.matches(element, selector)→trueif element matches selector
#contains(haystack, needle)
scan.contains(node, element)→trueif node contains elementscan.contains(stack, item, start=0)→trueif stack contains itemscan.contains(str, substr, start=0)→trueif str contains substr
Support
Selector queries use querySelectorAll where available or else degrade to getElementsByTagName.
- Lone tag selectors like
'p'work in IE5.5+ and all other browsers - The universal selector
'*'works in IE6+ and all other browsers - CSS2+ selectors work in IE8+, FF3.5+, Opera 10+, and all other browsers
- CSS3+ selectors work in IE9+, FF3.5+, Opera 10+, and all other browsers
Developers
Contribute by making edits in /src or reporting issues.
$ npm install
$ grunt testFund
License
MIT
