jQuery选择器最佳实践--来自jQ官网
1、基于ID选择器进行查询,并且使用find方法。
//快速
$("#container div.footer"); //超快
$("#container").find("div.footer");
使用find方法会减少遍历节点的时间。
2、使用混合选择器时,在右边的选择器最好具体一些。
//优化前
$("div.data .footer"); //优化后
$(".data div.footer");
左边最好只使用tag或class这样的选择器,右边最好使用tag.class这样的方式。
3、避免使用过多的选择器。
//糟糕
$("div p.data span.test"); //很好
$("div span.test");
这样可以减少选择器引擎遍历节点的时间。
4、避免使用通用的选择器,会花费很多查找时间。
$(".buttons > *"); // Extremely expensive.
$(".buttons").children(); // Much better.
$(".category :radio"); // Implied universal selection.
$(".category *:radio"); // Same thing, explicit now.
$(".category input:radio"); // Much better.
jQuery选择器最佳实践--来自jQ官网的更多相关文章
- JQuery高性能最佳实践
[使用最佳选择器] 使用JQuery时,你可以使用多种选择器,选择同一个元素,各种方法之间的性能是不一样的,有时候差异会特别大. 通常比较常用的选择器有以下几个: ID选择器 $("#id& ...
- atitit.编辑表单的实现最佳实践dwr jq easyui
atitit.编辑表单的实现最佳实践dwr jq easyui 1. 提交表单 1 2. 表单验证 1 3. 数据保存使用meger方式取代save&update方式 1 3.1. Filte ...
- 验证Xcode真伪的方法,来自苹果官网
验证Xcode真伪的方法,来自苹果官网 Xcode的验证你的版本 2015年9月22日 注意:中文为有道翻译,看下验证方法即可. 我们最近将应用程序从应用程序商店,还建有Xcode的假冒 ...
- Reveal常用技巧(翻译来自Reveal官网blog)
翻译来自官网:http://revealapp.com/blog/reveal-common-tips-cn.html 以下基于Reveal 1.6. 用于快速上手的内置应用 刚刚下载Reveal,啥 ...
- jQuery编程最佳实践笔记
优化选择器 选择器优化已经不如从前那么重要,因为更多的浏览器实现了document.querySelectorAll()方法,所以选择的重担由jQuery转移到了浏览器. 但是仍然有一些技巧是需要 ...
- consul eureka区别(来自Consul官网)
consul 与 eureka Eureka是一个服务发现工具.该体系结构主要是客户端/服务器,每个数据中心有一组Eureka服务器,通常每个可用区域一个.通常Eureka的客户使用嵌入式SDK来注册 ...
- 省市县镇村五级地址智能提取(标准地址源来自国家统计局官网)SpringBoot+Elasticsearch 5.6
项目目的 根据传入的地址,智能提取所属的省市县镇村5级地址.例如:用户输入“江苏南通嗨安李堡镇陈庄村8组88号”,我们需要提取到江苏省 南通市 海安县(即便用户输入了错字,“海”写成了“嗨”) 李 ...
- 将一个数组转化为需要的格式,来自react官网的商品列表示例
//原来的格式 const PRODUCTS = [ { category: 'Sporting Goods', price: '$49.99', stocked: true, name: 'Foot ...
- 【工利其器】必会工具之(三)systrace篇(1)官网翻译
前言 Android 开发者官网中对systrace(Android System Trace)有专门的介绍,本篇文章作为systrace系列的开头,笔者先不做任何介绍,仅仅翻译一下官网的介绍.在后续 ...
随机推荐
- 【转载】MySQL innodb_table_stats表不存在的解决方法
MySQL 版本 5.6.14 公司有几台MySQL服务器的错误日志显示,有几个系统表不存在.innodb_table_statsinnodb_index_statsslave_master_info ...
- jQuery 单选按钮切换
html代码片段一: <div class="row"> <div class="col-sm-12"> <label for=& ...
- google api , the problem of null refresh token
http://stackoverflow.com/questions/10827920/google-oauth-refresh-token-is-not-being-received The ref ...
- Atmel Studio 6.0新建项目
使用Atmel Studio 6.0新建一个项目 连接Atmel 开发板与调试板,开发板使用的芯片是ATXMGEA128A1 注意: 以上对于开发板与调试板的连接,需要非常注意连接时线的方向, ...
- linux挂载windwos共享文件
mount -t cifs -o useaname=***,password=*** //172.16.82.32/test /mnt username,password分别为windows那边允许共 ...
- .Net 使用 Oracle 提供组件访问数据库
向导式安装客户端组件 32位下载: http://www.oracle.com/technetwork/topics/dotnet/utilsoft-086879.html 批处理式安装客户端组件 ...
- Java Socket 基础例子
1.服务器端代码 package com.lanber.socket; import java.io.DataInputStream; import java.io.DataOutputStream; ...
- Eclipse对svn操作切换账号或更换svn地址方法
1. 切换账号,主要是删除配置文件达到重新更新svn的时候,弹出框让重新输入新的svn用户名和密码. 1.通过删除SVN客户端的账号配置文件 1)查看你的Eclipse中使用的是什么SVN Int ...
- python参考手册--第1章python简介
1.if __name__ == '__main__': 直接运行myModel.py时,当前模块的名字是main:import myModel然后运行的时候当前模块的名字是myModel. 2.ev ...
- Installing Lua in Mac
Lua is distributed in source form. You need to build it before using it. Building Lua should be stra ...