Advertisement
andrejsstepanovs

js vanilla cookbook

Jan 14th, 2021
129
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // JSON
  2. const data = await (await fetch('/my-url')).json();
  3.  
  4. // Post
  5. await fetch('/my-url', { method: 'POST', body: data });
  6.  
  7. // Request
  8. try {
  9. const resp = await fetch('/my-url');
  10. // ...
  11. } catch (e) {
  12. // ...
  13. }
  14.  
  15. // Fade In
  16. el.animate({ opacity: 1 }, 400);
  17.  
  18. // Fade Out
  19. el.animate({ opacity: 0 }, 400);
  20.  
  21. // Hide
  22. el.hidden = true;
  23.  
  24. // Show
  25. el.hidden = false;
  26.  
  27. // After
  28. target.after(el);
  29.  
  30. // Append
  31. target.append(el);
  32.  
  33. // Before
  34. target.before(el);
  35.  
  36. // Each
  37. for (const el of document.querySelectorAll(selector)) {
  38. // ...
  39. }
  40.  
  41. // Empty
  42. el.replaceChildren(); // or el.textContent = '', depending on which you find clearer
  43.  
  44. // Filter
  45. [...document.querySelectorAll(selector)].filter(filterFn);
  46.  
  47. // Get Height
  48. el.clientHeight;
  49.  
  50. // Get Width
  51. el.clientWidth;
  52.  
  53. // Matches
  54. el.matches('.my-class');
  55.  
  56. // Remove
  57. el.remove();
  58.  
  59. // Delegate
  60. document.addEventListener(eventName, e => {
  61. const match = e.target.closest(elementSelector);
  62. if (match) {
  63.   handler.call(match, e);
  64. }
  65. });
  66.  
  67. // Trigger Custom
  68. el.dispatchEvent(new CustomEvent('my-event', { detail: { some: 'data' } }));
  69.  
  70. // Trigger Native
  71. el.dispatchEvent(new Event('change'));
  72.  
  73. // Extend
  74. Object.assign({}, objA, objB);
  75.  
  76. // Parse HTML
  77. (new DOMParser()).parseFromString(htmlString);
  78.  
  79. // Type
  80. obj[Symbol.toStringTag];
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement