全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

jquery代码规范让代码越来越好看

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

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

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>菜单栏</title>
 <style>
 *{
  margin: 0;
  padding: 0;
 }
 .box{
  width: 400px;
  height: 280px;
  background-color: red;
  margin: 50px auto;
  border: 1px solid #000;
 }
 .box .menu{
  width: 100%;
  height: 100%;
  background-color: gold;
  list-style: none;
 }
 .box .menu>.level1{
  width: 100%;
  height: auto;
  line-height: 40px;
  list-style: none;
 }
 .box .menu>.level1>a.current{
  background-color: green;
  color: #0a0a0a;
  text-decoration: none;
 }
 .box .menu>.level1>a{
  display: inline-block;
  background-color: gray;
  width: 100%;
  text-align: center;
  text-decoration: none;
 }
 .box .menu>.level1>.level2{
  width: 100%;
  height: 160px;
  background-color: white;
  display: none;
  float: left;
 }
 .box .menu>.level1:nth-of-type(1)>.level2{
  display: block;
 }
 .box .menu>.level1>.level2 li{
  width: 100%;
  height: 40px;
  list-style: none;
  background-color: gainsboro;
  text-align: center;
 }
 </style>
 <script src="http://libs.baidu.com/jquery/1.9.1/jquery.min.js"></script>
 <script>
 $(function () {

  $(".level1>a").click(function () {
  $(this).addClass("current").next().show().parent().siblings().children("a").removeClass("current").next().hide();
  return false;
  });
 });
 </script>
</head>
<body>
<div class="box">
 <ul class="menu">
 <li class="level1">
  <a href="#one" class="current">衬衫</a>
  <ul class="level2">
  <li>短袖衬衫</li>
  <li>长袖衬衫</li>
  <li>短袖衬衫</li>
  <li>短袖衬衫</li>
  </ul>
 </li>
 <li class="level1">
  <a href="#one">卫衣</a>
  <ul class="level2">
  <li>开襟卫衣</li>
  <li>开襟卫衣</li>
  <li>开襟卫衣</li>
  <li>开襟卫衣</li>
  </ul>
 </li>
 <li class="level1">
  <a href="#one">裤子</a>
  <ul class="level2">
  <li>短袖衬衫</li>
  <li>裤子衬衫</li>
  <li>短袖衬衫</li>
  <li>裤子衬衫</li>
  </ul>
 </li>
 </ul>
</div>
</body>
</html>

童鞋们。请看这段代码

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

请问你第一眼看着个你能一下子看明白是怎么回事吗?

哪怕是开发过几年的大神。也不能一眼就看出来这行代码要干啥。就是因为这行代码太长了。每读一次都要自讲前面的串联起来看。毫无美感,阅读性。

虽然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)jQuery对象和DOM对象的相互转换

在jQuery对象和DOM对象相互转换之前,先约定好定义变量的风格,如果获取的对象是jQuery对象,那么在变量面前加上$

例如:

var $variable = jQuery对象

如果获取的DOM对象;

var varible = DOM对象;

以上是jQuery编写的规范。希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持!


# jquery  # 代码规范  # Python 切片索引越界的问题(数组下标越界)  # 老生常谈java数组中的常见异常  # java数组中的异常类型整理  # js代码规范之Eslint安装与配置详解  # 后端代码规范避免数组下标越界  # 这行  # 你能  # 选择器  # 自己的  # 我就  # 就会  # 他说  # 都要  # 多个  # 都能  # 设为  # 买了  # 你还  # 几年  # 很容易  # 一本  # 这段  # 大神  # 但也  # 很重要 


相关文章: 建站之星后台密码遗忘?如何快速找回?  昆明网站制作哪家好,昆明公租房申请网上登录入口?  制作营销网站公司,淘特是干什么用的?  赚钱网站制作软件,建一个网站怎样才能赚钱?是如何盈利的?  制作网站软件推荐手机版,如何制作属于自己的手机网站app应用?  长沙企业网站制作哪家好,长沙水业集团官方网站?  郑州企业网站制作公司,郑州招聘网站有哪些?  深圳网站制作案例,网页的相关名词有哪些?  网站设计制作公司地址,网站建设比较好的公司都有哪些?  三星网站视频制作教程下载,三星w23网页如何全屏?  如何用手机制作网站和网页,手机移动端的网站能制作成中英双语的吗?  如何获取上海专业网站定制建站电话?  制作农业网站的软件,比较好的农业网站推荐一下?  建站之星在线版空间:自助建站+智能模板一键生成方案  香港代理服务器配置指南:高匿IP选择、跨境加速与SEO优化技巧  可靠的网站设计制作软件,做网站设计需要什么样的电脑配置?  广东企业建站网站优化与SEO营销核心策略指南  如何快速查询域名建站关键信息?  一键制作网站软件下载安装,一键自动采集网页文档制作步骤?  Java解压缩zip - 解压缩多个文件或文件夹实例  如何快速生成橙子建站落地页链接?  公司网站的制作公司,企业网站制作基本流程有哪些?  已有域名能否直接搭建网站?  重庆网站制作公司哪家好,重庆中考招生办官方网站?  如何用PHP快速搭建高效网站?分步指南  建站之星ASP如何实现CMS高效搭建与安全管理?  如何通过远程VPS快速搭建个人网站?  网站app免费制作软件,能免费看各大网站视频的手机app?  建站之星如何实现网站加密操作?  如何通过山东自助建站平台快速注册域名?  招商网站制作流程,网站招商广告语?  ,怎么在广州志愿者网站注册?  公众号网站制作网页,微信公众号怎么制作?  车管所网站制作流程,交警当场开简易程序处罚决定书,在交警网站查询不到怎么办?  宝塔建站后网页无法访问如何解决?  临沂网站制作企业,临沂第三中学官方网站?  如何零基础开发自助建站系统?完整教程解析  如何在Tomcat中配置并部署网站项目?  宝华建站服务条款解析:五站合一功能与SEO优化设置指南  为什么Go需要go mod文件_Go go mod文件作用说明  头像制作网站在线制作软件,dw网页背景图像怎么设置?  专业型网站制作公司有哪些,我设计专业的,谁给推荐几个设计师兼职类的网站?  香港服务器租用每月最低只需15元?  浅析上传头像示例及其注意事项  弹幕视频网站制作教程下载,弹幕视频网站是什么意思?  视频网站app制作软件,有什么好的视频聊天网站或者软件?  建站之星微信建站一键生成小程序+多端营销系统  免费ppt制作网站,有没有值得推荐的免费PPT网站?  微信小程序 五星评分(包括半颗星评分)实例代码  如何通过多用户协作模板快速搭建高效企业网站? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。