Подтвердить что ты не робот

document.getelementbyId вернет значение null, если элемент не определен?

В моем коде я вижу следующее:

if (document.getElementById('xx') !=null) {
    //do stuff
}

если элемент xx не определен, будет ли он оцениваться как true или false?

Должен ли я писать:

if (document.getElementById('xx'))

быть в безопасности?

4b9b3361

Ответ 1

console.log(document.getElementById('xx') ) evaluates to null.

document.getElementById('xx') !=null evaluates to false

Вы должны использовать document.getElementById('xx') !== null поскольку это более сильная проверка равенства.

Ответ 2

getElementById определяется HTML DOM Level 1 HTML, чтобы вернуть значение null в случае, если элемент не сопоставлен.

!==null - самая явная форма проверки и, вероятно, самая лучшая, но нет значения [null] non- null которое возвращает getElementById - вы можете получить только null или всегда правдивый объект Element. Таким образом, здесь нет никакой практической разницы !==null !=null или looser if (document.getElementById('xx')).

Ответ 3

Да, он вернет null, если он отсутствует, вы можете попробовать это ниже в демо. Оба вернут true. Первые элементы существуют, второй - нет.

демонстрация

Html

<div id="xx"></div>

Javascript:

   if (document.getElementById('xx') !=null) 
     console.log('it exists!');

   if (document.getElementById('xxThisisNotAnElementOnThePage') ==null) 
     console.log('does not exist!');