12 第1页 | 共2 页下一页
返回列表 发新帖
查看: 3537|回复: 12
打印 上一主题 下一主题

[经验分享] 了解jQuery技巧来提高你的代码质量(2)

[复制链接]
   

671

主题

1

听众

3247

积分

中级设计师

Rank: 5Rank: 5

纳金币
324742
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

跳转到指定楼层
楼主
发表于 2012-1-13 10:25:00 |只看该作者 |倒序浏览

jQuery之所以如此流行并被从大公司到个人博客,几乎每个人都广泛使用,是因为它上手和使用相当简单,而且为我们提供了一些人都不知道的相当棒的特性,下面给大家介绍一些实用的jQuery技巧,希望对您有所帮助。
AD:







5.jQuery手册常备身边  
大多数人都很难记住所有的编程细节,即使再好的程序员也会有对某个程序语言的疏忽大意,所以把相关的手册打印出来或随时放在桌面上进行查阅绝对是可以提高编程效率的。

6.在FireBug控制台记录jQuery  
FireBug是我最喜欢用的一个浏览器扩展工具之一,这个工具可以让你快速的在可视化界面中了解当前页面的HTML+CSS+JavaScript,并在该工具下完成即时开发。作为jQuery或JavaScript开发人员,FireFox对于记录你的JavaScript代码也得到支持。写入FireBug控制台的最简单方式如下:

console.log("hello world")  
你也可以按照你希望的方式写一些参数:
console.log(2,4,6,8,"foo",bar)  
你也可以编写一个小扩展来记录jQuery对象到控制台:


jQuery.fn.log = function (msg) {     console.log("%s: %o", msg, this);     return this;  ;  
对于这个扩展,你可以直接使用.log()方法来记录当前对象到控制台。
$('#some_div').find('li.source > input:checkbox')     .log("sources to uncheck")     .removeAttr("checked");  
7.尽可能使用ID选择器  
在使用jQuery之后,你会发现利用class属性来选择DOM元素变得相当简单。尽管如此,还是推荐大家尽量少用class选择器取而代之尽量多使用运行更快的ID选择器(IE浏览器下使用class选择器会在遍历整个DOM树之后返回相符的class包装集)。而ID选择器更快是因为DOM本身就有”天然的”getElementById这个方法,而class并没有。所以如果使用class选择器的话,浏览器会遍历整个DOM,如果你的网页DOM结构足够复杂,这些class选择器足矣把页面拖得越来越慢。让我们看看这段简单的HTML代码:
<div id="main"> <form method="post" action="/">   <h2>Selectors in jQuery</h2>   ...    ...    <input class="button" id="main_button" type="submit" value="Submit" /> </form> </div>     //使用class来调用submit按钮要比使用绝对的ID选择器慢很多  var main_button = $('#main .button');  var main_button = $('#main_button');  
8.善于利用jQuery链
jQuery链不但允许以简洁的方式写出强大的操作,而且提高了开发效率,因为它能够把多个命令应用到包装集,而不必重新计算包装集。从而你不用再这样写了:
<li>Description: <input type="text" name="description" value="" /></li>   $('#shopping_cart_items input.text').css('border', '3px dashed yellow');  $('#shopping_cart_items input.text').css('background-color', 'red');  $('#shopping_cart_items input.text').val("text updated");  
取而代之你可以使用jQuery链来完成简便的操作:
var input_text = $('#shopping_cart_items input.text');  input_text.css('border', '3px dashed yellow');  input_text.css('background-color', 'red');  input_text.val("text updated");     //same with chaining:  var input_text = $('#shopping_cart_items input.text');  input_text   .css('border', '3px dashed yellow')   .css('background-color', 'red')   .val("text updated");  
9.绑定jQuery函数到$(window).load事件
大多数jQuery实例或教程都告诉我们绑定我们的jQuery代码到$(document).ready事件。虽然$(document).ready事件在大多数情况下都OK,但是它的解析顺序是在文档准备就绪,单文档中的图片等对象正在下载的时候开始运行的。所以在某些时候使用$(document).ready事件并不一定能达到我们预期的效果,比如一些视觉效果和动画、拖拽、预读取隐藏图片等…通过使用$(window).load事件便可以安全的在整个文档都准备就绪之后再开始运行你期望的代码。
$(window).load(function(){   // 将你希望在页面完全就绪之后运行的代码放在这里  });  




分享到: QQ好友和群QQ好友和群 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
转播转播0 分享淘帖0 收藏收藏0 支持支持0 反对反对0
回复

使用道具 举报

   

671

主题

1

听众

3247

积分

中级设计师

Rank: 5Rank: 5

纳金币
324742
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

沙发
发表于 2012-2-3 23:21:56 |只看该作者
真是不错啊
回复

使用道具 举报

   

671

主题

1

听众

3247

积分

中级设计师

Rank: 5Rank: 5

纳金币
324742
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

板凳
发表于 2012-3-21 23:25:44 |只看该作者
呵呵,很好,方便罗。
回复

使用道具 举报

tc    

5089

主题

1

听众

33万

积分

首席设计师

Rank: 8Rank: 8

纳金币
-1
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

地板
发表于 2012-3-27 23:23:46 |只看该作者
佩服,好多阿 ,哈哈
回复

使用道具 举报

462

主题

1

听众

31万

积分

首席设计师

Rank: 8Rank: 8

纳金币
2
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

5#
发表于 2012-5-1 23:20:44 |只看该作者
沙发不解释
回复

使用道具 举报

1023

主题

3

听众

359

积分

设计实习生

Rank: 2

纳金币
335582
精华
0

最佳新人

6#
发表于 2012-5-6 23:26:51 |只看该作者
人过留名!
回复

使用道具 举报

5969

主题

1

听众

39万

积分

首席设计师

Rank: 8Rank: 8

纳金币
-1
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

7#
发表于 2012-5-24 23:23:59 |只看该作者
不错不错,收藏了
回复

使用道具 举报

462

主题

1

听众

31万

积分

首席设计师

Rank: 8Rank: 8

纳金币
2
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

8#
发表于 2012-5-30 23:25:38 |只看该作者
加精、加亮滴铁子,尤其要多丁页丁页
回复

使用道具 举报

tc    

5089

主题

1

听众

33万

积分

首席设计师

Rank: 8Rank: 8

纳金币
-1
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

9#
发表于 2012-8-24 00:12:31 |只看该作者
谢谢楼主,真是太实用了
回复

使用道具 举报

5969

主题

1

听众

39万

积分

首席设计师

Rank: 8Rank: 8

纳金币
-1
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

10#
发表于 2012-10-14 23:20:13 |只看该作者
先垫一块,再说鸟
回复

使用道具 举报

12 第1页 | 共2 页下一页
返回列表 发新帖
您需要登录后才可以回帖 登录 | 立即注册

手机版|纳金网 ( 闽ICP备2021016425号-2/3

GMT+8, 2024-11-13 14:06 , Processed in 0.131162 second(s), 28 queries .

Powered by Discuz!-创意设计 X2.5

© 2008-2019 Narkii Inc.

回顶部