https://javascript.plainenglish.io/whats-the-difference-between-the-tagname-and-nodename-property-of-a-dom-node-in-javascript-c9d15d64b2c7