$attr.js 964 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. var toArr = require('./toArr');
  2. var isObj = require('./isObj');
  3. var isStr = require('./isStr');
  4. var each = require('./each');
  5. var isUndef = require('./isUndef');
  6. var $safeEls = require('./$safeEls');
  7. exports = function(els, name, val) {
  8. els = $safeEls(els);
  9. var isGetter = isUndef(val) && isStr(name);
  10. if (isGetter) return getAttr(els[0], name);
  11. var attrs = name;
  12. if (!isObj(attrs)) {
  13. attrs = {};
  14. attrs[name] = val;
  15. }
  16. setAttr(els, attrs);
  17. };
  18. exports.remove = function(els, names) {
  19. els = $safeEls(els);
  20. names = toArr(names);
  21. each(els, function(node) {
  22. each(names, function(name) {
  23. node.removeAttribute(name);
  24. });
  25. });
  26. };
  27. function getAttr(el, name) {
  28. return el.getAttribute(name);
  29. }
  30. function setAttr(els, attrs) {
  31. each(els, function(el) {
  32. each(attrs, function(val, name) {
  33. el.setAttribute(name, val);
  34. });
  35. });
  36. }
  37. module.exports = exports;