Advertisement
Guest User

Untitled

a guest
Sep 16th, 2019
112
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.46 KB | None | 0 0
  1. export const dom = {
  2. // Attribute manipulation
  3. getAttr: (element, attr) => element.getAttribute(attr),
  4. setAttr: (element, attr, value) => element.setAttribute(attr, value),
  5. removeAttr: (element, attr) => element.removeAttribute(attr),
  6. toggleAttr: (element, attr, forceCondition) => element.toggleAttribute(attr, forceCondition),
  7. hasAttr: (element, attr) => element.hasAttribute(attr),
  8.  
  9. // Element selection
  10. find: (selector, parent = document) => parent.querySelector(selector),
  11. findAll: (selector, parent = document) => [...parent.querySelectorAll(selector)],
  12.  
  13. // CSS manipulation
  14. css: (element, property, value) => {
  15. if (typeof value === "string" || value === null) {
  16. return (element.style[property] = value)
  17. }
  18.  
  19. return element.style[property]
  20. },
  21.  
  22. // Class manipulation
  23. addClass: (element, ...classes) => element.classList.add(...classes),
  24. removeClass: (element, ...classes) => element.classList.remove(...classes),
  25. toggleClass: (element, className, forceCondition) => element.classList.toggle(className, forceCondition),
  26. replaceClass: (element, oldClass, newClass) => element.classList.replace(oldClass, newClass),
  27. hasClass: (element, ...classes) => classes.filter(givenClassName => element.classList.contains(givenClassName)).length > 0,
  28.  
  29. // Element height and width getters
  30. getHeight: element => Math.ceil(element.getBoundingClientRect().height),
  31. getWidth: element => Math.ceil(element.getBoundingClientRect().width),
  32. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement