繁体   English   中英

在JavaScript中使用elements值作为参数调用函数之前,存在检查元素的最快方法

[英]Fastest way to check an element exists before calling a function using the elements value as parameter in JavaScript

我想检查DOM中是否存在某个元素(如果存在),然后使用该元素的值作为参数来调用函数。 例如:

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

这是实现这一目标的最快方法吗?

这是实现这一目标的最快方法吗?

不,但是非常非常非常快。

最快的方法是记住第一个getElementById调用的结果,而不是重复它:

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

getElementById非常非常非常非常快,您必须在紧密的循环中进行数十万次(可能数百万次),以使任何人都可以感知到差异。

如果id足够唯一,则可以直接从window.msg访问该元素:

 window.msg && alert(msg.value) window.msg1 && alert(msg1.value) // window.msg1 is undefined 
 <input id=msg value=hi> 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM