jQuery.length()速度含义
jQuery .length() speed implications
每当我想查找DOM中是否存在元素时,我都会使用以下代码。
if($('#target').length){
// do stuff.
}
这很好用,我在客户端网站上经常使用它。
问题:这个方法有多快?当在一个项目中大量使用这种方法时,速度会有什么影响?
您最好使用if(document.getElementById('target'))
。JavaScript总是比jQuery快(因为jQuery只是一堆隐藏在地毯下的JavaScript)
编辑:如果你经常使用它,你可以制作一个自定义功能:
function idExists(id) {return !!document.getElementById(id);}
Native JS总是比通过jQuery进行查询更快。它可能没有那么友好。
通过jsperf.com运行查询后,native(querySelectorAll
)比jQuery 快57%
但是,如果使用id,jQuery将比querySelectorAll更快。在任何id的情况下,使用document.getElementById
来测试元素的存在。
http://jsperf.com/jquery-obj-length
尝试使用JQuery上下文搜索DOM元素,比如:
如果你搜索的元素,比如输入控件,位于表中,则将表作为上下文传递:
一个简单的例子:
$(function(){
var name= $('#Name','#mytab').val();
alert(name);
});
jquery引擎在"mytab"中找到元素"Name",而不是整个表单
关注这个fiddle链接:http://jsfiddle.net/NzbJr/10/
相关文章:
- TypeError:在不兼容的接收器nodejs上调用了方法Uint8Array.length
- Array.length似乎不起作用;console.log则显示其他情况
- Wacom stu-430签名捕获速度太慢
- 如何在速度模板中获取LiferayPortlet实例id
- 我想放慢html中进程栏的速度
- 为什么Float32Array.length的值总是3
- Knockout绑定大量数据的速度较慢
- Wordpress:未捕获引用错误:未定义速度
- 即使光标位于屏幕边缘,也可以跟踪鼠标速度
- Css优化谷歌页面速度洞察
- fullcalendar在删除导致浏览器挂起的多个事件时速度较慢
- 录制速度javascript
- Javascript图像数组预加载速度和从内存中删除
- 谷歌地图多边形减慢浏览器速度
- nodejs/ccurlhttp请求与postlerrest客户端相比速度较慢
- 从Three.js场景中删除许多对象的速度较慢
- 构建多个图表时,HighCharts加载数据的速度较慢
- jQuery.length()速度含义
- AMD应用程序在浏览器中的加载速度是否快于CommonJS应用程序
- 如何在不影响网站页面速度的情况下在我的网站上使用谷歌字体