美文网首页
jQuery性能优化

jQuery性能优化

作者: 大橙子CZ | 来源:发表于2016-05-24 11:38 被阅读0次

使用合适的选择器

不同的选择器有性能差异,以下为性能从好到坏:

  • $("#id")
    使用id来定位无疑是最佳提高性能的方式,因为直接调用js的document.getElementById方法。这个方法直接通过元素id来返回对应元素。
    若直接用id找不到,可以考虑从最近的id元素开始向下搜索:$("#content").find("div").

  • $("p"),$("input")
    标签选择器是性能优化的第二选择,因为直接调用js的document.getElementsByTagName()来定位元素。

  • $(".class")
    对于新的浏览器,支持document.getElementsByClassName();而老的浏览器则只能靠DOM搜索实现,对性能产生较大影响。

  • $("[attribute = value]")
    对于利用属性查找元素,大多是靠DOM元素搜索。很多现代浏览器支持querySelectorAll()方法,但不同浏览器间性能还是有差别,因此性能不是很理想。

  • $(":hidden")
    这种也是通过搜索全部DOM元素实现的,性能不佳。若一定要使用,请先使用id选择器定位父元素然后再使用该选择器。
    $("#content").find(":hidden");
    $("a.button").find(":animated");

综上,
1.尽量使用id选择器;
2.尽量给选择器指定上下文;

缓存变量

每一次创建选择器的时候jQuery都会查找DOM从而创建多个jQuery对象。
最好的做法是将会重复用到的jQuery选择器对象缓存起来:
var input = $("#selector input");

循环时的DOM操作

最好不要很多次修改DOM,可以在拼接好字符串后一次性插入到DOM中。

判断jQuery对象是否存在

if( $("#content").length > 0 )而不是if( $("#content") )

事件代理

每一个js事件默认都会冒泡到父节点,当我们需要给多个元素调用相同函数时,与其给每一个元素绑定事件,可以选择为它们的父元素绑定事件,通过event.target获得发生事件的当前元素即可。
另外,on( )方法能帮助将整个事件监听封装到一个便利方法中。

使用join来拼接字符串

用join方法代替+来拼接字符串。

合理利用h5的data属性

h5的data属性帮助插入数据,特别是前后端的数据交换。如元素中的data-role,data-options等自定义属性,可利用jQuery的data方法获得:$("#d1").data("role")

有的时候使用js原生方法效率更高

相关文章

  • 《锋利的jQuery》十一、jQuery性能优化

    title: 《锋利的jQuery》十一、jQuery性能优化date: 2017-08-16 22:18:00t...

  • jQuery性能优化

    使用合适的选择器 不同的选择器有性能差异,以下为性能从好到坏: $("#id")使用id来定位无疑是最佳提高性能的...

  • jQuery 性能优化

    关于选择器 总是从 ID 选择器开始继承jQuery 选择器对 ID 的选择是使用原生的 getElementBy...

  • 接上篇:(三)

    jQuery和Zepto的区别?各自的使用场景? 针对 jQuery 的优化方法? *基于Class的选择性的性能...

  • Android性能优化 - 消除卡顿

    性能优化系列阅读 Android性能优化 性能优化 - 消除卡顿 性能优化 - 内存优化 性能分析工具 - Tra...

  • Android性能优化 - 内存优化

    性能优化系列阅读 Android性能优化 性能优化 - 消除卡顿 性能优化- 内存优化 性能分析工具 - Trac...

  • 前端性能优化(中)

    性能优化调研系列文章 《前端性能优化(上)》 《前端性能优化(中)》 《前端性能优化(下)》 《前端性能优化(上)...

  • 前端性能优化(下)

    性能优化调研系列文章 《前端性能优化(上)》 《前端性能优化(中)》 《前端性能优化(下)》 《前端性能优化(中)...

  • jQuery性能优化和技巧

    尽量使用最新版本的jQuery jQuery每一个新的版本都会较上一个版本进行Bug修复和一些优化,同时也会包含一...

  • jquery性能优化和技巧

    1.选择最新版jquery. 2.选择最佳的选择器。 1.第一选择使用$("#id")是提高性能的最佳方式。$("...

网友评论

      本文标题:jQuery性能优化

      本文链接:https://www.haomeiwen.com/subject/dslzrttx.html