Advertisement
Guest User

Untitled

a guest
Jan 18th, 2017
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.69 KB | None | 0 0
  1. /**
  2. * Create a DOM element from a CSS query
  3. * ex: createElement('span#my-id.my-class.second-class');
  4. */
  5. function createElement(querySelector) {
  6. if (!querySelector) {
  7. querySelector = 'div';
  8. }
  9. let nodeType = querySelector.match(/^[a-z]+/i);
  10. let id = querySelector.match(/#([a-z]+[a-z0-9-]*)/gi);
  11. let classes = querySelector.match(/\.([a-z]+[a-z0-9-]*)/gi);
  12. let node = (nodeType) ? nodeType[0] : 'div';
  13.  
  14. if (id && id.length > 1) {
  15. throw error('only 1 ID is allowed');
  16. }
  17.  
  18. const elt = document.createElement(node);
  19.  
  20. if (id) {
  21. elt.id = id[0].replace('#', '');
  22. }
  23.  
  24. if (classes) {
  25. elt.classList.value = classes.join(' ').replace(/\./g, '');
  26. }
  27.  
  28. return elt;
  29. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement