您的位置:首页 > Web前端 > JQuery

JQuery Introduction

2014-02-05 17:27 302 查看
1、jQuery介绍

(1)特点

利用选择器查找要操作的节点,并且会将这些节点

封装成一个jQuery对象。通过调用jQuery对象的属性

或者方法来实现对底层节点的操作,这样做的好处有

两个:一是兼容性更好了,另外,代码得到简化。

(2)编程步骤

step1,使用jQuery选择器查找要操作的节点。

step2,调用jQuery对象的方法或者属性。

(3)一个简单例子 first.html

(4)jQuery对象与dom对象如何相互转换?

1)dom对象 ---> jQuery对象

$(dom对象)

2)jQuery对象 ---> dom对象

2、选择器

(1)选择器是什么?

jQuery借鉴了css选择器的语法,用来查找要操作的

节点。

(2)基本选择器 selector / s1.html

#id

.class

element

select1,select2..selectn

*

(3)层次选择器 selector / s2.html

select1 select2:查找所有的后代

select1>select2:只查找子节点

select1+select2:下一个兄弟

select1~select2:下面所有兄弟

(4)过滤选择器

1)基本过滤选择器 selector / s3.html

:first

:last

:not(select) 排除满足select要求的节点

:even

:odd

:eq(index)

:gt(index)

:lt(index)

2)内容过滤选择器 selector / s4.html

:contains(text) 匹配包含给定文本的元素

:empty 匹配所有不包含子元素或者文本的空元素

:has(select) 匹配含有选择器所匹配的元素的元素

:parent 匹配含有子元素或者文本的元素

3)可见性过滤选择器 selector / s5.html

:hidden 匹配所有不可见元素,

或者type为hidden的元素

:visible 匹配所有的可见元素

4)属性过滤选择器 selector / s6.html

[attribute]

[attribute=value]

[attribute!=value]

5)子元素过滤选择器 selector / s7.html

:nth-child(index/even/odd)

注意: 下标从1开始。

6)表单对象属性过滤选择器 selector / s8.html

:enabled

:disabled

:checked

:selected

(5)表单选择器

:input

:text

:pasword

:radio

:checkbox

:submit

:image

:reset

:button

:file

:hidden

3、dom

1)查询 dom / d1.html

找到节点之后,可以读取或者修改节点的

html内容,文本,值,属性。

a, html() 读取或者修改节点的html内容

b, text() 读取或者修改节点的文本内容

c, val() 读取或者修改节点的值

d, attr() 读取或者修改节点的属性

2)创建 dom / d2.html

$(html);

3)插入节点

append():作为最后一个孩子添加进来。

prepend():作为第一个孩子添加进来。

after():作为下一个兄弟

before():作为上一个兄弟

4)删除节点 dom / d3.html

remove()

remove(selector)

empty():清空节点

5)数据与行为分离 dom / d4.html d5.html

即不用修改html文件,通过引入外部的js文件来

为页面提供动态效果。

$(fn); fn是一个函数的名称

或者

$(function(){

//当整个页面加载完毕,会执行这儿的代码。

});

6)复制节点 dom / d6.html

clone()

clone(true):使复制的节点也具有行为(将事件

处理代码一块复制)

7)属性操作

读取:attr('id');

设置: attr('id','d1') 或者一次

设置多个 attr({"id":"d1","class":"s1"});

删除:removeAttr('id')

8)样式操作 dom / d7.html

获取和设置: attr("class","") attr("style","")

追加:addClass('')

移除:removeClass('')

或者removeClass('s1 s2')

或者removeClass()//会删除所有样式

切换样式:toggleClass,有该样式,就删除,没有,

就添加。

是否有某个样式 hasClass('')

读取css('')

设置css('','')或者

css({'':'','':''})//设置多个样式

9)遍历节点 dom / d8.html

children()/children(select):只考虑子元素,

不考虑其它后代元素。

next()/next(select):下一个兄弟

prev()/prev(select):上一个兄弟

siblings()/siblings(select):其它兄弟

find(select):从当前节点向下查找所有的后代

(满足select要求的)

parent():父节点

4、事件处理

(1)回顾

1)如何绑订事件处理代码

a, 绑订到html标记上面。

比如 <input type="button" onclick="f1();"/>

b,绑订到dom对象上。

比如 obj.onclick=f1;

2)事件对象 event / e1.html

a,如何获得事件对象?

只需要给事件处理函数传递一个参数。

比如 <input type="button" onclick="f1(event);"/>

b,事件对象的作用?

b1,找到事件源(发生该事件的那个对象)

e.target || e.srcElement

b2,获得鼠标点击的坐标

e.clientX e.clientY

b3,取消事件冒泡 event / e2.html

子节点产生的事件会依此向上抛出给相应的

父节点。

e.cancelBubble = true;

(2)jQuery中如何处理事件

1)如何绑订事件处理代码?

方式一:$obj.bind(事件类型,事件处理函数);

比如:

$obj.bind('click',fn);

 方式二:简写形式

比如:

$obj.click(fn);

2)事件对象 e3.html

a,如何获得事件对象?

只需要给事件处理函数传递一个任意的变量。

比如:

$obj.click(function(e){

e就是jQuery对底层事件对象的封装

});

b,事件对象的作用?

b1, 获得事件源

var obj = e.target;

obj是一个dom对象。

b2,获得鼠标点击的坐标

e.pageX e.pageY

b3,取消事件冒泡 e4.html

e.stopPropagation();

3)合成事件 e5.html e6.html

a,hover 模拟光标悬停事件

b,toggle 模拟鼠标连续单击事件

4)模拟操作 e7.html

a,trigger(事件类型)

比如

$obj.trigger('focus');

b,简化形式

比如

$obj.focus();

5、动画

1)show/hide animate / a1.html

a,作用:通过同时改变元素的宽度和高度来

实现显示或者隐藏。

b,用法:

$obj.show([速度],[回调函数]);

注意:

速度有两种形式

'slow','normal','fast'

或者毫秒数 800

回调函数

当整个动画执行完毕之后,会调用

这个函数。 

2)slideDown/slideUp a1.html

a,作用:通过改变元素的高度来实现显示或者隐藏。

b,用法:同上。

3)fadeIn(淡入)/fadeOut(淡出) a2.html

a,作用:通过改变元素的不透明度(opacity)来实现

显示或者隐藏。

b,用法:同上。

4)animate a3.html

用法: $obj.animate({},speed,[callback]);

{} : 描述动画执行完成之后节点的样式。

speed: 速度,单位是毫秒。

callback:回调函数。

6、类数组

1)类数组是什么?

jQuery对象包含的那些dom对象。

2)类数组的属性

length属性:dom对象的个数

3)类数组常用方法 array / a1.html

a,each(): 用来遍历类数组。each函数每次从类数组

中取一个元素。可以给each函数传递一个参数(也是

一个函数,在该函数里面,this表示正在被访问的

那个dom对象)。

b,eq(i): 从类数组中取下标等于i的dom对象,返回值

是 一个jQuery对象。

c,index(obj或者$obj):返回dom对象或者jQuery

对象在类数组中的下标。

d,get():将类数组转换成一个真正的dom对象组成的

数组。

e,get(i):从类数组中取下标等于i的dom对象,返回值

就是原始的dom对象。

7、ajax支持

1)load order.jsp

a,作用:向服务器发送异步请求,并且将服务器

返回的数据直接添加到符合要求的节点之上。

b,用法:

$obj.load(url,[data]);

url:请求地址

data:请求参数,有两种形式:

请求字符串:username=zs&age=22

对象: {'username':'zs','age':22}

c,load方法如果没有请求参数,会发送get请求,

如果有请求参数,会发送post请求。

2)$.get或者$.post stock.jsp

a,作用:向服务器发送异步请求(get或者post)

b,用法:

$.get(url,data,callback,type);

url:请求地址

data:请求参数,有两种形式:

请求字符串:username=zs&age=22

对象: {'username':'zs','age':22}

callback: 形式如下

function(data,status),其中data是服务器

返回的数据,status是服务器处理的状态描述。

type:服务器返回的数据类型,可以是:

html: html内容

text:文本

json:json字符串

xml:xml文档

script: javascript脚本

3)$.ajax

a,作用:可以同步或者异步向服务器发送请求。

b,用法:

$.ajax({选项参数});

url: 请求地址

type:请求方式

data:请求参数

dataType:服务器返回的数据类型

success:服务器处理正常调用的函数,形式

function(data,status),其中data是服务器

返回的数据,status是服务器处理的状态描述。

error:服务器处理失败调用的函数。

async:值为true时,发送异步(缺省),值为

false,发送同步请求。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: