首先本人经过一个案例来展现jQuery的链式编程风格。先写一个页面,展现一个列表,代码以下:javascript
<body> <div> <ul class="menu"> <li class="level1"> <a href="#">水果</a> <ul class="level2"> <li><a href="#">苹果</a></li> <li><a href="#">菠萝</a></li> <li><a href="#">香瓜</a></li> </ul> </li> <li class="level1"> <a href="#">主食</a> <ul class="level2"> <li><a href="#">面条</a></li> <li><a href="#">馒头</a></li> <li><a href="#">米饭</a></li> </ul> </li> </ul> </div> </body> <script type="text/JavaScript"> $(function() { $(".level1 > a").click(function() { $(this).addClass("current").next().show().parent.siblings().children("a").removeClass("current").next().hide(); return false; }); }); </script>
为了增长代码的可读性和可维护性,咱们将上面的链式代码格式的修改以下:java
<script type="text/JavaScript"> $(function() { $(".level1 > a").click(function() { // 给当前的元素添加current样式 $(this).addClass("current") // 下一个元素显示 .next().show() // 父元素的同辈元素的子元素a移除current样式 .parent.siblings().children("a").removeClass("current") // 他们的下一个元素隐藏 .next().hide(); return false; }); }); </script>
通过规范格式的调整后,增长了代码的易读性,更加方便后期的维护。与此同时,咱们对于同一个jQuery对象进行链式操做时,主要遵循下面3条格式规范。编程
http://www.ssnd.com.cn 化妆品OEM代加工ide
(1)对于同一个对象不超过3个操做,能够直接写成一行,代码以下:动画
<script type="text/javascript"> $(function() { $("li").show().unbind("click"); }); </script>
(2)对于同一个对象的较多操做,建议每行写一个操做,代码以下:ui
<script type="text/javascript"> $(function() { $(this).removeClass("mouseout") .addClass("mouseover") .stop() .fadeTo("fast", 0.5) .fadeTo("fast", 1) .unbind("click") .click(function() { ....... }); }); </script>
(3)对于多个对象的少许操做,能够每一个对象写一行,若是涉及子元素,能够考虑适当的缩进。代码以下:this
<script type="text/javascript"> $(function() { $(this).addClass("highLight") .children("a").show().end() .siblings().removeClass("highLight") .children("a").hide(); }); </script>
以上就是有关jQuery的链式编程风格。spa