一、jQuery简介入门

小结:

介绍了JQuery的由来和优势,将几个JavaScript库进行对比,此外还约定了jQuery的代码风格和变量风格;然后介绍了jQuery对象和DOM对象之间的区别以及相互转换,然后介绍了如何解决jQuery和其他JavaScript库冲突的问题;最后介绍了几个jQuery自动提示代码功能的插件

  1. jQuery的由来

JavaScript自身存在3个弊端,即复杂的文档对象模型(DOM)、不一致的浏览器实现和便捷的开发、调试工具的缺乏。jQuery的兴起解决了这些问题

  1. JavaScript库作用及对比

Prototype、Dojo、YUI、Ext Js、MooTools、JQuery

每个每个JavaScript库都有自己的优点和缺点、支持者和反对者,但是从近几年的Google访问量趋势,jQuery的关注度一直稳步上升,逐渐从其他JavaScript库中脱颖而出,成为web开发人员的最佳选择

  1. jQuery简介与优势

现在的jQuery团队主要包括核心库、UI、插件和jQuery Mobile等开发人员以及推广和网站设计、维护人员。

jQuery强调的是写的少做的多:

①轻量级:jQuery的压缩工具一直变化,现在用的是UglifyJS

②强大的选择器

③出色的DOM操作的封装

④可靠的事件处理机制

⑤完善的ajax

⑥不污染顶级变量:JQuery只建立一个名为jQuery的对象,其所有函数方法都在这个对象之下,别名$也可以随时交出控制权,绝对不会污染其他对象,该特性可以使得jQuery和其他JavaScript库共存而不用考虑后期可能的冲突。

⑦出色的浏览器兼容性

⑧链式操作方式:即对发生在同一个jQuery对象上的一组动作,可以直接连写而无需重复获取对象

⑨隐式迭代

⑩行为层与结构层的分离

⑪丰富的插件支持

⑫完善的文档

⑬开源:任何人都可以自由使用并提出改进意见

  1. jQuery代码风格约定

jQuery库的类型分为两种,jQuery.js(开发板)  和   jquery.min.js(生产版)

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

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

③对于多个对象的少量操作可以每个对象写一行,如果涉及子元素适当缩进

④对于复杂的语句应写上注释

  1. jQuery对象和DOM对象

DOM对象:可以通过JavaScript中的getelementbyid和getElementByTagName来获取元素节点,像这样得到的DOM元素就是DOM对象

jQuery对象:jQuery对象就是通过jQuery包装DOM对象后产生的对象。

Eg:$(“#foo”).html()等同于document.getElementById(“#foo”).innrtHTML。jQuery对象和DOM对象不能互相使用对方的方法

①jQuery对象转换成DOM对象

两种方法:

  1. jquery对象是一个类似数组的对象

var $cr=$(“#cr”)   //jQuery对象

Var cr=$cr[0];     //DOM对象

  1. 另一种jQuery本身提供的

var $cr=$(“#cr”)   //jQuery对象

Var cr=$cr.Get(0);     //DOM对象

②DOM对象转换成jQuery对象

对于一个DOM对象,只需要用$()把DOM对象包装起来,就可以获得一个jQuery对象了

Var cr=document.getElementById(“#cr”); //DOM对象

Var $cr=$(cr); //jQuery对象

注:平时用到的jQuery对象都是通过$()函数制造出来的,他就是一个jQuery对象的制造工厂。

  1. 解决jQuery和其他库的冲突

①jQuery在其他库之后导入

1)都加载完毕后可以调用jQuery.noConflict()函数将变量$的控制权移交给其他JavaScript库

jQuery.noConflict();

jQuery(function(){

jQuery(“p”).click(function(){

Alert(jQuery(this).text());

})

})

 

2)如果确保想要不会出现冲突,且想自定义一个快捷方式

Var $j=jQuery.noConflict();  //自定义备用名称,如jq,$J,a等等

$j(function(){

$j(“p”).click(function(){

Alert($j(this).text());

})

})

 

3)如果不想给jQuery自定义这些备用名称,还想使用$而不管其他库的$()方法,同时不想冲突,可有如下两种解决办法

其一:

jQuery.noConflict();

jQuery(function($){

$(“p”).click(function(){

Alert($(this).text());

})

})

 

其二:

jQuery.noConflict();

(function($){

$(function(){

$(“p”).click(function(){

Alert($(this).text());

})

})

 

②jQuery在其他库之前导入(代码省略引用)

可以直接使用jQuery,其他库的快捷方式用$(),而且无需调用jQuery.noConflict()函数。

jQuery.noConflict();

jQuery(function(){

jQuery(“p”).click(function(){

Alert(jQuery(this).text());

});

});

})(jQuery);

  1. jQuery开发工具和插件

可使用任意文本编辑器进行开发,例如EditPlus,VIM,Visual Studio,Dreamweaver,Aptanta等,可通过下载插件增加自动提示代码功能。

你可能感兴趣的:(JQuery)