项目作者: ryanve

项目描述 :
querySelectorAll selector engine
高级语言: JavaScript
项目地址: git://github.com/ryanve/scan.git
创建时间: 2013-04-09T12:08:13Z
项目社区:https://github.com/ryanve/scan

开源协议:

下载


scan

standalone querySelectorAll selector engine with jQuery-like interface

  1. $ npm install scan --save

Basic usage

  1. var scan = require('scan')
  2. 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" class="reference-link">Support

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

Developers

Contribute by making edits in /src or reporting issues.

  1. $ npm install
  2. $ grunt test

Fund

Tip the developer =)

License

MIT