Jquery基础—【Jquery入门】
1,jquery概述
jquery是一个优秀javascript类库,兼容CSS3,兼容各种浏览器,是开发者更方便地处理HTML Documents,CSS,Events,实现动画效果,并且更方便地为Web应用程序提供Ajax交互。
(1)jquery能做什么?
jquery的类库为普通的Web应用 程序客户端javascript脚本提供了一种通用的抽象层。它通过插件的方式持续地接受jquery项目组成员或其他javascript爱好者开发的jquery插件的接入。
官方发布的类库核心包,能满足:
~ 操作页面对象
如果不使用类似jquery的javascript类库,遍历DOM树,得到DOM树中的某个节点,就需要用javascript语言编写很多代码。jquery为获取DOM节点的操作提供了可靠,丰富的选择符机制。并且,使用jquery,就能够以很少量的代码实现DOM节点的修改,可以实现修改文本,属性,甚至对整个文档的结构进行重写,修改或扩充。
~ 修改页面外观
CSS为HTML文档的页面呈现方式提供了一个强大的机制。但是,各浏览器开发者出于各种因素考虑,支持的CSS标准不完全统一,所以使用CSS进行页面样式控制的时候经常力不从心。jquery提供了一个跨浏览器样式额标准解释方案,而且可以在页面执行展示的任何时候修改DOM元素的某个类或样式属性。
~ 优化javascript的事件机制
同样,由于各浏览器开发者对浏览器功能的不同考虑,提供的页面事件机制也不尽相同。这就导致程序开发人员在编写javaScript脚本的时候不得不考虑各种可能存在的问题,甚至有的时候不得不修改DOM来实现某种代码需求。jquery提供了一组页面控件的事件机制,更加优雅地对DOM节点的事件进行管理,而且这些事件处理API也已经消除了各种浏览器之间的兼容性问题。
~ 为页面添加动画效果
jquery中内置了一批淡入淡出,擦除之类的动画效果,可以使开发人员更加方便地实现优秀的用户页面设计。
~ 优化ajax功能
ajax能辅助开发人员创建出反应灵敏,功能丰富,而且更加近似于winform的无等待响应的效果。但是,由于各浏览器内核提供的异步请求对象不同等之类的原因,使用ajax功能通常也非常麻烦,jquery很好的消除了这些问题。
(2)为什么要用jquery?
~ 轻量级
~ 出色的浏览器兼容性
~ 出色的DOM操作
~ 链式操作方式
~ 隐式的迭代集合
~ 行为层和结构的分离
~ 支持扩展
2,编写jquery代码
(1)获取jquery
官网:http://jquery.com ,这里包含关于jquery的最新版本,最新代码等等。
3,jquery核心函数
在jquery中,所有DOM对象都将封装成jquery对象,而且只有jquery对象才能使用jquery的方法或属性来执行相应的操作。所以,jquery提供了一个可以将DOM对象封装成jquery对象的函数,就是jquery核心函数jquery(),也称为工厂函数。
jquery核心函数有7个重载。
(1)jQuery()。
该函数返回一个空的jquery对象。在jquery1.4以后的版本中,该函数返回一个空jquery对象,在jquery1.4以前的版本中,该函数会返回一个包含document节点的对象。
(2)jQuery(elements)
该函数将一个或多个DOM元素转化为jquery对象(或jquery集合)代码如下
jQuery(document)
另外,这个函数也可以把XML文档和Window对象作为有效的参数。
(3)jQuery(callback)
该函数是jQuery(document).ready(callback)的简写。该函数将绑定一个在DOM文档载入完成后执行的函数。页面中所有需要在DOM加载完时执行的jQuery操作,都需要包含在这个函数中。
该函数即原先页面onload事件的函数,可以放在这里调用,但是与页面onload事件绑定的函数相比,这个函数可以同时存在多个而不冲突。也就是说,开发人员可以在一个页面中使用任意多个jQuery(document).ready事件,绑定任意多个onload以后执行的函数。
(4)jQuery(expression,[context]).
该函数接收一个包含jQuery选择器的字符串,然后用这个字符串去匹配一个或多个元素。jQuery中额操作都需要使用jQuery对象,所以jQuery的一切操作都要基于这个函数,或者说都需要以某种方式使用这个函数。这个函数最基本的用法就是向它传递一个选择器字符串,然后根据这个选择器字符串的内容来查找所有匹配的元素。
可选参数context是选择器查找的集合。如果没有指定context参数,jQuery函数将在当前的HTML文档中查找DOM元素,如果指定了context参数(如一个DOM元素集或jQuery对象),就会在这个context中查找。
(5)jQuery(html)
该函数根据提供的HTML标记代码,动态创建由jQuery对象封装的DOM元素,代码如下:
jQuery("<div></div>")
上述代码将创建一个div节点,可以动态添加到DOM中。
(6)jQuery(html,props)
该函数根据提供的HTML标记代码,动态创建由jQuery对象封装的DOM元素,同时对DOM元素设置一组属性,事件等,代码如下:
jQuery("<input>",{type:"text",name="username"})
上述代码将创建一个input节点,并设置type属性为text,name属性为username,同样,该DOM元素可以被动态添加到页面中。
(7)jQuery(html,[ownerDocument])。
该函数根据提供的HTML标记代码,动态创建由jQuery对象封装的DOM元素并且指定该DOM元素所在的文档。
另外需要注意的是,jQuery核心函数有另外一个非常简单的别名$(美元符号,英文为dollar)。
1 $([arguments])
2
3 $(document).ready(
4 function(){
5 $("input[type='submit']").click(function(){
6 alert("Hello,"+$("input[name='friendName']").val());
7
8 });
9
10 });
如前所述,jQuery(document).ready(callback)可以简写陈jQuery(callback),可直接写成
$(function(){
//其他代码
});
另外,jQuery对象并不是普通对象,所以一般的变量无法对其直接引用,像下面使用会报错:
var obj=jquery();
但是,在变量名前面加一个符号$,就没有错误:
var $obj=jquery();
4,智能感应
5,解决jQuery和其他库的冲突
6,使用开发人员调试工具