jQuery和AJAX

一、jQuery

 1、jQuery库文件

  1-1:jquery-1.版本号.js:开发板,完整无压缩版本,主要用于测试、学习和开发

  1-2:jquert-1.版本号.min.js:发布本,经过工具压缩或经过服务器开启Gzip压缩,主要应用于发布的产品和项目

  1-3:在页面中引入jQuery

   <script src="js/jquery-1.8.3.js" type="text/javascript" />

 2、jQuery语法结构:$(selector).action()

  2-1:工厂函数$():将DOM对象转化为jQuery对象

  2-2:选择器selector:获取需要操作的DOM元素

  2-3:方法action():jQuery中提供的方法,包括绑定事件处理的方法

 3、jQuery方法

  3-1:css("属性","属性值"):为元素设置CSS样式的值

  3-2:addClass("类样式名"):为元素添加类样式

  3-3:html("HTML代码"):为元素设置innerHTML的值

 4、jQuery对象转DOM对象

  4-1:jQuery对象是一个类似数据的对象,可以通过[index]的方法得到相应的DOM对象

    var  $txtName=$(".txtName");  //jQuery对象

    var $txtName=$txtName[0];  //DOM对象

  4-2:通过get(index)方法得到相应的DOM对象

    var  $txtName=$(".txtName");  //jQuery对象

    var $txtName=$txtName.get(0);  //DOM对象

 5、DOM对象转jQuery对象

   var txtName=document.getElementById("txtName"); //DOM对象

   var $txtName=$(txtName);   //jQuery对象

 6、选择器

  6-1:类CSS选择器

   1>基本选择器

    A、标签选择器:element→根据给定的标签名匹配元素

    B、类选择器:.class→根据给定的class匹配元素

    C、ID选择器:#id→根据给定的id匹配元素

    D、并集选择器:selector1,selector2,...,selectorN→将每一个选择器匹配的元素合并后一起返回

    E、交集选择器:element.class或element#id→匹配指定class或id的某元素或元素集合

    F、全局选择器:*→匹配所有元素

   2>层次选择器:通过DOM元素之间的层次关系来获取元素

    A、后代选择器:ancestor descendant→选取ancestor元素里的所有descendant(后代)元素

    B、子选择器:parent>child →选取parent元素下的child(子)元素

    C、相邻元素选择器:prev+next →选取紧邻prev元素之后的next元素

    D、同辈元素选择器:prev~sibings →选取prev元素之后的所有siblings元素

   3>属性选择器:通过HTML元素的属性来选择元素

    A、[attribute]:选择包含给定属性的元素

    B、[attribute=value]:选取等于给定属性是某个特定值的元素

    C、[attribute!=value]:选取不等于给定属性是某个特定值的元素

    D、[attribute^=value]:选取给定属性是以某些特定值开始的元素

    E、[attribute$=value]:选取给定属性是以某些特定值结尾的元素

    F、[attribute*=value]:选取给定属性是以包含某些值的元素

    G、[selector1][selector2][selectorN]:选取满足多个条件的复合属性的元素

  6-2:过滤选择器:通过特定的过滤规则来筛选(:开头)

   1>基本过滤选择器

    A、:first:选取第一个元素

    B、:last:选取最后一个元素

    C、:even:选取索引是偶数的所有元素(index从0开始)

    D、:odd:选取索引是奇数的所有元素(index从0开始)

    E、:eq(index):选取索引等于index的元素(index从0开始)

    F、:gt(index):选取索引大于index的元素(index从0开始)

    G、:lt(index):选取索引等于小于index的元素(index从0开始)

    H、:not(selector):选取去除所有与给定选择器匹配的元素

    I、:header:选取所有标题元素

    J、:focus:选取当前获取焦点的元素

   2>可见性过滤选择器

    A、:visible:选取所有可见的元素

    B、:hidden:选取所有隐藏的元素

  6-3:表单选择器

   1>:input:选取所有表单元素

   2>:text:选取所有单行的文本输入框元素

   3>:password:选取所有的密码框的元素

   4>:radio:选取所有的单选按钮元素

   5>:checkbox:选取所有的复选框元素

   6>:submit:选取所有的提交按钮元素

   7>:image:选取所有的图像域元素

   8>:button:选取所有的按钮元素

   9>:checked:匹配所有被选中的元素(包括复选框和单选框,不包括<select>元素)

   10>:selected:匹配所有选中的<option>元素

  6-4:内容过滤器

   1>:contains(text):选取所有包含text文本的元素

   2>:empty:选取所有不含子元素或文本的空元素

   3>:has(selector):选取包含选择器所匹配的元素的元素

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

 7、jQuery操作DOM对象

  7-1:样式操作:

   1>设置样式值:css(name,value)

         css({ name:value,name:value,name:value... }) (JSON)

   2>追加和移除样式

    addClass("class1 class2...")、remove("class1 class2...")

  7-2:内容及value属性值操作

   1>html():可以对HTML代码进行操作,类似于innerHTML

   2>text():可以获取或设置元素的文本内容

   3>val():可以获取或设置元素的value属性值

    $(input).vall():获取value值   $(input).val("值"):设置value值

  7-3:节点操作

   1>创建节点元素:工厂函数$()用于获取或创建节点

    A、$(selector):通过选择器获取节点

    B、$(element):把DOM节点转化为jQuery节点

    C、$(html):使用HTML字符串创建jQuery节点

   2>元素内部插入子节点

    A、append(cotent):将content追加到

    B、appendTo(content):将content追加

    C、prepend(content):将content插入到

    D、prependTo(content):将content插入

   3>元素外部插入同辈节点

    A、after(content):将content插入到...之后

    B、insertAfter(content):将content插入到...之前

    C、before(content):将content插入至...之前

    D、insertBefore(content):将content插入至...之后

   4>替换节点

    A、replaceWith()

    B、replaceAll()

   5>复制节点:clone()

    语法:$(A).clone(true).appendTo(B); 参数true表示复制其事件

   6>删除节点

    A、remove():删除整个节点

    B、detach():删除整个节点,保留元素的绑定事件、附加的数据

    C、empty():清空节点内容

  7-4:属性操作

   1>attr():获取或设置匹配元素的属性值

    A、$(selector).attr("属性名"):获取元素的某属性的值

    B、$(selector).attr("属性名","值"):设置一个属性值

    C、$(selector).attr({ "属性名1":"值1","属性名2":"值2"...}):设置多个属性值

   2>removeAttr():匹配的元素中删除一个属性

    语法:$(select).removeAttr("属性名称")

  7-5:节点遍历

   1>遍历子元素

     children():方法可以用来获取元素的所有子元素(不包括文本节点)

   2>遍历同辈元素

    A、next([expr]):用于获取紧邻匹配元素之后的元素

    B、prev([expr]):用于获取紧邻匹配元素之前的元素

    C、siblings([expr]):用于获取位于匹配元素前面和后面的所有同辈元素

   3>遍历前辈元素

    A、parent():获取元素的父级元素

    B、parents():获取元素的祖先元素

   4>其它方法

    A、each():以每一个匹配的元素作为上下文来执行一个函数(遍历方法)

    B、find():搜索所有与指定表达式匹配的元素(查找)

  7-6:CSS-DOM操作

   1>height():返回数值,可直接运算

    $().height() 元素自身的高

    $().innerHeight() 元素自身高+上下padding(不包括边框)

    $().outerHeight(true) 元素自身高+上下padding+上下边框+上下margin

   2>width():

   3>$().offset().top:返回JSON:{"top":11,"left":123 }

 8、jQuery事件

  8-1:基础事件

   1>window事件

   2>鼠标事件:用户在文档上移动或单击鼠标时而产生的事件

    click(fn):单击事件

    mouseover(fn):鼠标移过时

    mouseout(fn):鼠标移出时

   3>键盘事件:用户每次按下或者释放键盘上的键时都会产出事件

    keydown(fn):按下键盘时

    keypress(fn):产生可打印的字符时

    keyup(fn):释放键盘时

   4>表单事件

    focus(fn):获得焦点

    blur(fn):失去焦点

    submint(fn):表单提交时

  8-2:复合事件是多个事件的组合

   1>鼠标光标悬停

    hover(fn1,fn2)方法:相当于mouseover和mouseout事件的组合

   2>鼠标连续点击

    toggle()方法:用于模拟鼠标连续click事件(切换元素的可见状态)

  8-3:事件绑定

   1>bind()方法→事件绑定(可以绑定多个事件)

    $(selector).bind(type[,data],fn) type:事件类型 data:额外可以传参,可有可无 fn:function

   2>unbind()方法→解除事件绑定

    $(selector).unbind()

   3>on()方法→事件绑定(用于动态HTML元素的事件绑定时,需要指定第二个参数)(声明一次永久有效)

    $(selector).on(events[,selector][,data],fn)

   4>off()方法→解除事件绑定

 9、jQuery的动画效果

  9-1:控制元素显示与隐藏 

    show([duration][,complete])、hide([duration][,complete])

  9-2:控制元素淡入淡出

    fadeIn()、fadeOut()

  9-3:改变元素高度

    slideDown():可以使元素逐步延伸显示

    slideUp():使元素逐步缩短直至隐藏

  9-4:自定义动画

   animate():用于创建自定义动画的函数

     语法:$(selector).animate(params[,speed][,easing][,fn]);

     params:规定产生动画效果的CSS样式和值

     speed:三种预定速度之一的字符串(“slow”,“normal”,“fast”)或标识动画时长的毫秒数值

     easing:要使用的擦除效果的名称(需要插件支持)。默认jQuery提供“linear”和“swing”

     fn:在动画完成时执行的函数,每个元素执行一次

二、AJAX

 1、AJAX实现步骤

  1-1:创建XMLHttpRequest对象

  1-2:设置回调函数

  1-3:初始化XMLHttpRequest组件

  1-2:发送请求

 2、XMLHttpRequest对象:实现以异步方式在客户端与服务端之间传递数据

  2-1:属性

   1>onreadystatechange:处理服务器响应的函数

   2>readyState:服务器响应的状态信息:0(请求初始化)、1(服务器连接已建立)、2(请求已发送)、3(请求处理中)、4(请求已完成)

   3>status:200(相应正确返回)、404:未找到页面

   4>responseText:获取字符串形式的响应数据

   5>responseXML:获取XML形式的相应数据

  2-2:方法

   1>open(method,url,async):创建HTTP请求,method(请求的类型:GET或POST)、url(服务器请求地址)、async(是否异步请求:true(异步)或false(同步))

   2>send(string):将请求发送到服务器 ★string仅用于POST,GET方法为空或null

   3>setRequestHeader():指定请求的某个HTTP头

   4>getRequestHeader():从响应中获取指定的HTTP头

 3、使用AJAX发送请求及处理响应

  3-1:发送请求的方式:GET方式和POST方式

   1>初始化组件:

    A、GET:xmlHttpRequest.open("GET",url,true);

    B、POST:xmlHttpRequest.open("POST",url,true);、xmlHttpReques.setRequestHeadert.("Content-Type","application/x-www-form-urlencoded");

   2>发送请求:

    A、GET:xmlHttpRequest.send(null);

    B、POST:xmlHttpRequest.send(数据信息);

  3-2:处理响应的方法:文本响应和XML响应

 4、$.ajax()方法

  $.ajax({ url:"发送的请求地址", type:"请求方式", data:"服务器返回的数据类型"(xml、html、script、json、text),

      beforeSend:function(data){ //发送请求前执行的代码 }, success:function(data){ //发送成功后执行的代码 } error.function(){ //请求失败的代码} });

 5、$.get()方法:通过HTTP GET请求载入信息

  $.get("发送的请求地址", 要发送的数据key/value, 回调函数, "返回内容格式(xml、html、script、json、text)");

 6、$.post()方法:通过HTTP POST请求载入信息

  $.post("发送的请求地址", 要发送的数据key/value, 回调函数, "返回内容格式(xml、html、script、json、text)");

 7、$.getJSON()方法:通过HTTP GET请求载入信息

  $.getJSON("发送的请求地址", 要发送的数据key/value, 回调函数);

 8、$.getScript()方法:通过HTTP GET请求载入并执行一个JavaScript文件

  $.getScript("发送的请求地址",  回调函数);

 9、serivalize():用于序列化表单内容为字符串


   

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值