//糟糕
var
$container=$('#container'),
$containerLi=$('#container li'),
$containerLiSpan=$('#container li span');
复制代码 代码如下:
// 建议 (高效)
var
$container=$('#container '),
$containerLi=$container.find('li'),
$containerLiSpan= $containerLi.find('span');
14. 避免通用选择符
将通用选择符放到后代选择符中,性能非常糟糕。
复制代码 代码如下:
//糟糕
$('.container > *');
复制代码 代码如下:
//建议
$('.container').children();
15. 避免隐式通用选择符
通用选择符有时是隐式的,不容易发现。
复制代码 代码如下:
//糟糕
$('.someclass :radio');
复制代码 代码如下:
//建议
$('.someclass input:radio');
16. 优化选择符
例如,id 选择符应该是唯一的,所以没有必要添加额外的选择符。
复制代码 代码如下:
//糟糕
$('div#myid');
$('div#footer a.myLink');
复制代码 代码如下:
// 建议
$('#myid');
$('#footer .myLink');
17. 避免多个 ID 选择符
在此强调,ID 选择符应该是唯一的,不需要添加额外的选择符,更不需要多个后代 ID 选择符。
复制代码 代码如下:
//糟糕
$('#outer #inner');
复制代码 代码如下:
//建议
$('#inner');
18. 坚持最新版本
新版本通常更好:更轻量级,更高效。显然,你需要考虑你要支持的代码的兼容性。例如,2.0 版本不支持 ie 6/7/8。
19. 摒弃弃用方法
关注每个新版本的废弃方法是非常重要的并尽量避免使用这些方法。
复制代码 代码如下:
//糟糕- live 已经废弃
$('#stuff').live('click',function() {
console.log('hooray');
});
复制代码 代码如下:
// 建议
$('#stuff').on('click',function() {
console.log('hooray');
});
// 注:此处可能不当,应为live能实现实时绑定,delegate或许更合适
20. 利用 CDN
谷歌的 CND 能保证选择离用户最近的缓存并迅速响应。(使用谷歌CND请自行搜索地址,此处地址以不能使用,推荐 jquery 官网提供的 CDN)。
21. 必要时组合 jQuery 和 javascript 原生代码