https://javascript.plainenglish.io/6-awesome-javascript-dom-tips-and-tricks-you-should-know-d784ef3a5232