最近学了jQuery,感觉这个jQuery是真的挺不错的,果然像他说的那样,少些多做!刚一入手感觉真是不错。但是写多了,就会发现这个代码一行居然能写那么长。而且可读性还不好。  有幸自己买了一本锋利的jQuery这本书。我就整理了下。到底在实际应用中怎么让自己的jQurey的代码看起来可读性强,而且还有美感。  我就用了了本书中的一个小例子。来教教大家代码应该怎么写菜好看!

废话不多说,想把这个demo代码奉上。各位爷!您瞧好啊~

虽然jQuery做到了行为和内容的分离,但jQuery代码也应该拥有良好的层次结构机规范,这样才能进一步改善代码的可读性和可维护性。

所以代码应该写出这种样式

$(".level1>a").click(function () {
 $(this).addClass("current")
 .next().show()
 .parent().siblings().children("a").removeClass("current")
 .next().hide();
 return false;
 });

将每一次对象执行的动作分割成单独一行。这样可读性就大大提高了。

但也不要随意分割,随意分割那你还不如分割呢。所以总结了,以下三点

1.对于同一个对象不超过3个操作的,可以直接写成一行

  $(this).addClass("current").show();

2.对于同意对象的较多操作建议,每行写一个操作

$(this).addClass("current")
 .show()
 .fadeTo("mouseover")
 .fadeTo("fast",1)
 .unbind("click")
 .click(function(){
 //do something
 });
3.对于多个对象的少量操作,可以每一个对象写一行,如果涉及子元素,可以考虑适当的缩进,例如demo中的代码
$(this).addClass("current")
  .childer("li").show().end()
.siblings().removeClass()
  .children("a").hide();

还要强调一点,就是要为代码添加注释;

jQuery 以其强大的选择器著称,有时候很复杂的问题用一行选择器就可以轻松解决,但是很容易写出来下面的代码

$("#table>tbody>tr:has(td:has(:checkbox:enabled))").css("background","red"); 哈哈,你能一眼认出来我吗?

在编写一个优秀的选择器的时候,千万不要忘记给这一段代码加上注释,这很重要,无论是自己日后阅读还是与他人分享、合作开发,注释都能起到良好的效果

//注释:在一个id为table的表格的tbody中,如果每一行的一列中的checkbox没有被禁用,则把这行的背景设为红色
$("#table>tbody>tr:has(td:has(:checkbox:enabled))").css("background","red");

通过类似的有意义的注释,能够培养良好的编码习惯和风格,提高开发效率。

最新文章

  1. MySQL:索引工作原理
  2. KVO
  3. FZU みねちゃんの修罗场(从一堆出现三次的数中找出出现两次的数)
  4. [Linux] 安装JDK和Maven及hadoop相关环境
  5. zoj 3795 Grouping tarjan缩点 + DGA上的最长路
  6. sed命令手册
  7. postgresql 配置文件优化
  8. RMAN duplciate 准备时,需要检查的target数据库参数内容
  9. 详解JavaScript函数模式
  10. 04SpringMvc_映射器_BeanNameUrlHanderMapping
  11. C#中使用官方驱动操作MongoDB
  12. ThinkPHP 3.1 404页面的设置
  13. BZOJ 1179 [Apio2009]Atm(强连通分量)
  14. hibernate操作数据库总结
  15. 在Python的Flask框架下Address already in use [地址已在使用中]
  16. [学习OpenCV攻略][009][从摄像机读入数据]
  17. iOS开发之Objective-C与JavaScript的交互
  18. Android Camera开发系列(下)——自定义Camera实现拍照查看图片等功能
  19. 打造高效的工作环境 – SHELL 篇
  20. MySQL8.0.11 组复制配置

热门文章

  1. mui 页面跳转
  2. [IOS A] - 一些开源类库
  3. Building Vim from source(转)
  4. PHP-四种解析XML文件的方法
  5. Struts2简介以及结果集转发
  6. VMware安装Centos7超详细过程(图文)
  7. freeswitch录音功能
  8. G1日志分析
  9. [gj]狮子经典语录
  10. SVN提交项目时版本冲突解决方案