作为一个从来没有认真学过jQuery的菜来讲,我所学的都是jQuery基础。

算是让自己从0开始系统学一遍吧。学习书籍为:《锋利的jQuery》。

虽然是个序,表示一下我是个菜,但还是来几个jQuery最基本的点吧。

  • $是jQuery的简写形式,$("#divId")和jQuery("#divId")是一样的效果。其实看到这个,学过JS的人都应该很清楚了,jQuery就是个函数对象,有个别名叫$
    • <html>
      <head>
      <script src="jquery-2.2.0.min.js"></script>
      <script>//因为放在一个文件里比较直观,所以并没有用单独的js文件写js代码
      $(document).ready(function(){//页面加载玩Dom结构后执行
           alert("Hello world!");
      });
      $(function(){//这是上面那种写法的简写模式
           alert("Hello world!");
      });
      </script>
      </head>
      <body>
      </body>
      </html>
  • jQuery可以用链式操作风格,目测就是JS函数执行完后返回this以实现这种风格。下面是对链式风格的建议:

    • 对于同一对象的链式操作,不超过三个的可以写成一行
    • 对于同一对象的链式操作,超过三个的建议每行写一个操作
    • 对于多个对象的少量操作,可以每个对象写一行,如果涉及子元素,可以适当缩进
  • jQuery与Dom对象的关系
    • DOM(Document Object Model,文档对象模型),每一分DOM都可以表示为一个树
    • jQuery对象是通过jQuery包装DOM对象后产生的对象,在jQuery里无法使用DOM对象的任何方法。
    • 如果我们在写代码的时候得到的是一个jQuery对象,那么就在变量命名的前面加一个$,这样阅读代码更简单一点。
    • jQuery提供了两种方法将一个jQuery对象转换为DOM对象,即[index]get(index).
    • 而DOM对象转换为jQuery对象只需要用$(DOM对象)即可
  • jQuery与其它库的冲突
    • 在jQuery库中,几乎所有插件都被限制在他自己的命名空间中。因此将jQuery对象和其它库(如:YUI,MooTools)放到一起使用不会出现冲突。
    • 可以用jQuery.noConflict()将控制权移交给其它库。
      //jQuery在其它库之后导入
      //如果要用$来操作其它库的$方法
      var $j=jQuery.noConflict();//自定义一个快捷方式
      $j(document).ready(function(){//可以使用$j来当做$调用jQuery
          alert("Hello world!");
      });
      //如果坚持要用$来操作jQuery方法
      //虽然作者给出了解决方法,但是我依然不想理会,因为它会比上面的方式难懂
      //所谓更难理解阅读,并且有上面那种好的方案替代,那么在我的脑海里就表示难以阅读的方法是错的,我选择看不见
      
      //jQuery在其它库之前导入
      //那么直接用jQuery代替$操作jQuery好了,无需调用jQuery.noConflict()方法
      jQuery(document).ready(function(){
          alert("Hello world!");
      });
posted on 2016-01-24 20:54  韩子卢  阅读(322)  评论(0编辑  收藏  举报