Самый быстрый способ проверить элемент существует перед вызовом функции с использованием значения элементов в качестве параметра в JavaScript - PullRequest
0 голосов
/ 22 сентября 2018

Я хочу проверить, существует ли элемент в DOM, если он есть, затем вызвать функцию, используя значение элемента в качестве параметра.Например:

if(document.getElementById('msg')) displayMsg(document.getElementById('msg').value);

Это самый быстрый способ достичь этого?

Ответы [ 2 ]

0 голосов
/ 22 сентября 2018

Если идентификатор достаточно уникален, доступ к элементу можно получить непосредственно из window.msg:

window.msg && alert(msg.value)
window.msg1 && alert(msg1.value)  // window.msg1 is undefined
<input id=msg value=hi>
0 голосов
/ 22 сентября 2018

Это самый быстрый способ достичь этого?

Нет, но это очень, очень, очень, очень быстро.

Самый быстрый способ - запомнитьрезультат первого getElementById вызова, а не его повторения:

var msg = document.getElementById('msg')
if(msg) displayMsg(msg.value);

getElementById очень, очень, очень, очень быстро, и вам придется делать это сотни тысяч раз -возможно миллионы - в тесной петле для любого человека, чтобы почувствовать разницу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...