Select.js 864 B

1234567891011121314151617181920212223242526272829303132
  1. var Class = require('./Class');
  2. var isStr = require('./isStr');
  3. var each = require('./each');
  4. var mergeArr = require('./mergeArr');
  5. exports = Class({
  6. className: 'Select',
  7. initialize: function(selector) {
  8. this.length = 0;
  9. if (!selector) return this;
  10. if (isStr(selector)) return rootSelect.find(selector);
  11. if (selector.nodeType) {
  12. this[0] = selector;
  13. this.length = 1;
  14. }
  15. },
  16. find: function(selector) {
  17. var ret = new exports();
  18. this.each(function() {
  19. mergeArr(ret, this.querySelectorAll(selector));
  20. });
  21. return ret;
  22. },
  23. each: function(fn) {
  24. each(this, function(element, idx) {
  25. fn.call(element, idx, element);
  26. });
  27. return this;
  28. }
  29. });
  30. var rootSelect = new exports(document);
  31. module.exports = exports;