如果 DOM 中已经存在一类元素,我正在寻找最有效的方法来破坏函数。
比如检查一类span是否存在,目前我正在使用
$(function() {
//logic will execute
if ( $(this).find('span.myspan').length ) return;
//logic will execute if search doesn't find span.myspan
});
我见过一些使用 if/else 而不是 return 的例子。一些使用 find() 的例子已经使用了
.find('span.myspan')[0]
除了 .length 之外,没有什么可以检查它是否存在吗?或者也许是一种将它与 null 进行比较的方法?
那么在函数内部,检查 DOM 中是否存在元素的最有效方法是什么?如果存在,则立即返回该函数?
最佳答案
使用原生 JS
console.time('t');
document.querySelector('.label-key');
console.timeEnd('t')
t: 0.000ms
console.time('t');
$('.label-key');
console.timeEnd('t')
t: 1.000ms
也可以反过来做。 检查元素是否不存在,然后做一些事情。如果确实如此,就让它一个人呆着吧。
$(function() {
//logic will execute
if (! document.querySelector('.label-key'); ){
//logic will execute if search doesn't find span.myspan
}
});
更多的是一种风格。
关于javascript - 如果元素存在则返回一个函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17256597/