Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Заглавный регистр при получении tagName элемента (https://javascript.ru/forum/misc/75164-zaglavnyjj-registr-pri-poluchenii-tagname-ehlementa.html)

MC-XOBAHCK 09.09.2018 01:32

Заглавный регистр при получении tagName элемента
 
Подскажите, tagName всегда возвращает значение заглавными буквами?

У меня вот такой пример - в диве с классом test есть несколько инпутов. Ловлю событие клика в инпутах вот так:
document.querySelector('.test').addEventListener('click', function(e) {
    let el = e.target;

    console.log(el.tagName); // Возвращает INPUT заглавными символами

    if (el.tagName == 'input' || el.tagName == 'INPUT') {
        // .....
    }
})

Я на всякий случай прописал в условии и строчными и заглавными, но интересно, tagName всегда возвращает заглавными или может в обоих вариантах вернуть?
Я тестирую в гугл-хроме.

рони 09.09.2018 01:53

Цитата:

Сообщение от MC-XOBAHCK
на всякий случай

делают обычно так
if (el.tagName.toLowerCase() == 'input') {
        // .....
    }


но можно не заморачиватся и оставить только el.tagName == 'INPUT'

рони 09.09.2018 01:58

Цитата:

Сообщение от MC-XOBAHCK
tagName всегда возвращает заглавными или может в обоих вариантах вернуть?

смотрите документацию
Цитата:

В XML (и XML-подобных языках) возвращаемое значение будет в нижнем регистре, а в HTML - в верхнем.
https://developer.mozilla.org/ru/doc...lement/tagName

MC-XOBAHCK 09.09.2018 02:14

рони,
Спасибо! Теперь понял. У меня HTML, мне подойдёт вариант el.tagName == 'INPUT'.

j0hnik 09.09.2018 02:29

el.matches('input')

можно по селектору, но в старых браузерах работать не будет.


Часовой пояс GMT +3, время: 07:51.