- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《如何提高JQuery代码效率》.pdf
1. 总是从ID 选择器开始继承
在jquery 中最快的选择器是ID 选择器. 因为它直接来自于Javascript 的getElementById 方法. div id “content” form method “post” action “/” Traffic Light ul id “traffic_light” input type “radio” class “on” name “light” value “red” / Red input type “radio” class “off” name “light” value “yellow” / Yellow input type “radio” class “off” name “light” value “green” / Green input class “button” id “traffic_button” type “submit” value “Go” / 像这样选择按钮是低效的:
var traffic_button $ ‘#content .button’ ;
用ID 直接选择按钮效率更高:
var traffic_button $ ‘#traffic_button’ ;
选择多个元素
提到多元素选择其实是在说DOM 遍历和循环, 这些都是比较慢的东西.为了提高性能, 最好从就近的ID开始继承.
var traffic_lights $ ‘#traffic_light input’ ;
2. 在class 前使用tag
第二快的选择器是tag 选择器 $ ‘head’ . 同理,因为它来自原生的getElementsByTagName 方法. div id “content” form method “post” action “/” Traffic Light ul id “traffic_light” input type “radio” class “on” name “light” value “red” / Red input type “radio” class “off” name “light” value “yellow” / Yellow input type “radio” class “off” name “light” value “green” / Green input class “button” id “traffic_button” type “submit” value “Go” / ;
总是用一个tag name 来限制 修饰 class 并且不要忘记就近的ID :
var active_light $ ‘#traffic_light input.on’ ;
注意: 在jquery 中Class 是最慢的选择器. IE浏览器下它会遍历所有DOM 节点不管它用在那里.
不要用用tag name 来修饰ID. 下面的例子将会遍历所有的div 元素来查找id 为’content’的哪一个节点:
var content $ ‘div#content’ ;
用ID 修饰ID 也是画蛇添足:
var traffic_light $ ‘#content #traffic_light’ ;
3.将jquery 对象缓存起来
要养成将jquery 对象缓存进变量的习惯.
永远不要这样做:
$ #traffic_light input.on .bind click, function … ;
$ #traffic_light input.on .css border, 3px dashed yellow ;
$ #traffic_light input.on .css background-color,orange ;
$ #traffic_light input.on .fadeIn slow ;
最好先将对象缓存进一个变量然后再操作:
var $active_light $ ‘#traffic_light input.on’ ;
$active_light .bind ‘click’, function … ;
$active_light .css ‘border’, ‘3px dashed yellow’ ;
$active_light .css ‘background-color’, ‘orange’ ;
$active_light .fadeIn ’slow’ ;
为了记住我们本地变量是jquery 的封装, 通常用一个$作为变量前缀. 记住,永远不要让相同的选择器在你的代码
里出
您可能关注的文档
- 《基于遗传算法的物流配送路径优化问题研究》.pdf
- 《基于遗传算法的量化投资策略的优化与决策》.pdf
- 《基于霍尔效应的微磁仪的实现》.pdf
- 《基于面板数据的中国商业银行效率实证分析》.pdf
- 《基于高频数据的统计套利策略及实证研究》.pdf
- 《塑料成型工艺与模具设计讲稿 杨永顺 哈尔滨工业大学出版社 》.doc
- 《备考一个月雅思7.5——心态与方法》.pdf
- 《复杂网络当前研究热点》.pdf
- 《复杂网络的度分布研究》.pdf
- 《夏代奴隶制国家形成标志复议_赵世超》.pdf
- 北师大版小学数学三年级上册《寄书》教学设计.docx
- 统编版(部编版)语文二年级上册《雪孩子》教学设计.docx
- 统编版(部编版)语文二年级上册《八角楼上》教学设计.docx
- 北师大版小学数学三年级上册《长方形周长》教学设计.docx
- 北师大版小学数学三年级上册《丰收了》教学设计.docx
- 统编版(部编版)语文二年级上册《夜宿山寺》教学设计.docx
- 统编版(部编版)语文二年级上册《风娃娃》教学设计.docx
- 统编版(部编版)语文二年级上册《朱德的扁担》教学设计.docx
- 统编版(部编版)语文二年级上册《难忘的泼水节》教学设计.docx
- 统编版(部编版)语文二年级上册《纸船和风筝》教学设计.docx
文档评论(0)