querySelectorAll selector engine
JavaScript
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
src
test
.gitattributes
.gitignore
GruntFile.js
README.md
package.json
scan.js
scan.min.js

README.md

scan

standalone querySelectorAll selector engine with jQuery-like interface

$ npm install scan --save

Basic usage

var scan = require('scan')
scan('.example').find('a').not('[href^="#"]')

API (0.9)

  • scan() instances are array-like and inherit from scan.prototype and Array.prototype
  • scan() methods chain intuitively or are callable via scan.prototype[method].call(array)
  • Methods are generally compatible with jQuery methods of the same name

scan(query, context?)

  • scan(selector) → elements that match selector
  • scan(selector, node|nodes) → elements that match selector from node or any nodes
  • scan(node|nodes) → nodes wrapped in scan instance

.find(needle)

  • scan(query).find(selector) → descendants that match selector
  • scan(query).find(element|elements) → elements that descend from query
  • scan(stack).find(fn, scope?) → the first value to pass fn.call(scope, value, i, stack)

.filter(needle)

  • scan(query).filter(nodes, selector) → stack filtered by selector
  • scan(query).filter(fn) → stack filtered by fn.call(element, i)
  • scan(query).filter(element|elements) → stack filtered by one or more elements
  • scan(array).filter(values) → the intersection of 2 arrays

.not(needle)

  • scan(query).filter(selector)nodes filtered against selector
  • scan(query).not(fn) → stack filtered against fn.call(element, i)
  • scan(query).not(element|elements)→ stack filtered against one or more elements
  • scan(array).not(values) → the difference of 2 arrays

#find(needle)

  • scan.find(selector, context?) → array of elements that match selector
  • scan.find(stack, fn, scope?) → the first value to pass fn.call(scope, value, i, stack)

#matches(element, selector)

  • scan.matches(element, selector)true if element matches selector

#contains(haystack, needle)

  • scan.contains(node, element)true if node contains element
  • scan.contains(stack, item, start=0)true if stack contains item
  • scan.contains(str, substr, start=0)true if str contains substr

Support

Selector queries use querySelectorAll where available or else degrade to getElementsByTagName.

Developers

Contribute by making edits in /src or reporting issues.

$ npm install
$ grunt test

Fund

Tip the developer =)

License

MIT