Ответ 1
nodeName
является наиболее последовательным здесь. Я предлагаю вам занять минуту и прочитать этот пост за несколько различий и несоответствий с tagName
, если вам будет интересно узнать, почему.
Для прототипа части вопроса... это свойство JavaScript, просто this.nodeName
должно работать или element.nodeName
, независимо от того, какой элемент вызывается в текущей функции, должен работать.