首页 > 代码库 > jquery复习笔记

jquery复习笔记

一、jquery

下载地址http://jquery.com/download/

一、基本知识

  1. aspx中引入js:<script src=http://www.mamicode.com/”” type=”text/javascript” ></script>
  2. Jq和$:可以理解为$为jq函数代表符号,$==jquery,$用法:

(1)       html文档加载第一个运行:$(function(){}),$(函数名)

(2)       选择html标签并返回jq的集合:$(“div等标签、Id”).属性如css等(”属性”,”值”)

(3)       生成DOM, $(Html) 如$(“<div><p>添加入div和phtml元素</p></div>”)

(4)       将一个或者多个DOM元素封装成jq集合,$(element)

(5)       $,没有参数直接表示返回一个jq集合

二、操作DOM元素

1.处理事件:$(“#id”/”.name”).事件click等(函数)

2.处理元素内容:

(1)$(“#id”/”.name”).html()表示获取id、name的html元素的内容不含本身(源代码),$(“#id”/”.name”).html(“内容”)表示向id的html元素添加上“内容”

(2)$(“#id”/”name”).val();获取元素的值,一般都是Text属性的值,如果val(”内容”)则把元素的值设置为“内容”

3.更改元素样式:

(1)基本设定css:$(“#id”).css(属性name,value)

(2)利用已经定义好的css-class:

添加:$(“#id”).addclass(‘classname’);移除:$(“#id”).removeclassname(‘class’);

切换:$(“#id”).toggleclass(‘classname2’);//在添加、移除classname2中转换

(3)鼠标经过:$(“#id”).hove(function(){//鼠标over执行的代码},funciton(){//鼠标out的代码};)

4.隐藏和显示元素:

$(“#id”).hide(speed,callback);//参数为隐藏显示的速度,动态效果:normal,fast等

$(“#id”).show(speed,callback);

三、jq常用的选择器(getElementBy(‘选择器’))$(“选择器”)

1.元素选择器:a,tr,div,input等$(’div‘).***

2.Id:$(‘#id’).**, $(‘div#id’)必须用#指明ID,和css代码原理一样的,(‘标签类型#ID’)

3.class:$(‘.classname’).**

4.后代选择:$(‘div p’)0**;表示<div><p>***

5.子元素选择:$(‘div#id’)> $(‘p’);大于号A>B表示直接选择A选择器中符合B选择的元素

四、jquery+asp.net web service实现AJAX:

$.ajax(‘参数对象’)//可以理解为form的属性

$.ajax(

type:’post’, //post get ,像form的method

url:’*.aspx’,//action

data:’{$(‘$id).val()}’,//传递给webservice的参数

contentType:”application/json;charset:utf-8”,// 数据编码类型,form提交的数据

dataType:”json”,参数类型

success:function(参数){函数; }//ajax调用成功后执行的函数

error:  funciton(参数){函数;}//ajax调用失败执行的函数

)

二、W3c标准jq 知识补充

1.js的load对应jq的$(document).ready(functionname)

2.加载jq:<script type=”text/javascript” src=http://www.mamicode.com/””></script>,这里需要补充的是src可以直接引用jq官网的jq文件,不一定需要自己保存在网站空间中:

src=http://ajax.googleapis.com/ajax/libs/jquery/1.4.0/jquery.min.js(google)

src= http://ajax.microsoft.com/ajax/jquery/jquery-1.4.min.js(Microsoft)

3.几个基础的语法:$(selector).action()

$(“#id”,”.classname”,”p”,”div”,”div .classname”).hide();

$(document).ready(functionname);

(1)元素选择器:

$(“p”)-select html元素;$(“#id”)-选择id为id的,$(“.classname”)-选择class=classname的,

$(“div p”)-<div>中<p>,空格表示里面的;

$(“p.class”)-选择class=class元素中的第一个<p>;$(“p#id”)选择id元素中第一个<p>;

$("div#intro .head")-id="intro" 的 <div> 元素中的所有 class="head" 的元素;

(2)属性选择:$[属性=值]

$(“[href]”);$(“[href=http://www.mamicode.com/’#’]”),$(“[href!=’#’]”);$(“[href$=’.jpg’]”)-$=表示类是,like %.jpg%

(3)css选择:$(“元素div,#id,.Class”).css(“background-color”,”red”);等同js:style.属性=value

4.为了防止跟js使用$符号的冲突,当出现js和jq混用,$可以用var jq=JQuery-noconflict()表示$;

5.jq事件

$(selector).event(function(){});event主要有:click,dblclick,focus,mouseover

6效果

关于效果主要利用一下几个函数配合使用:

(1)隐藏和显示:$(“#id”).hide(speed)和$(“#id”).show(speed)-,speed可以为具体数字(1000=1s),也可以是常规的normal fast slow等

(2)滑动函数:$(“#id”).slideToggel():一般流程都是先设置某个元素的display为none(不设置也可以的),然后设置$(“元素”).slideToggle(speed);就可以在none和可见中滑动方式切换;slideDown,slideUp,下滑显示、上滑消失

(3)切换状态:$(“#id”).toggle(speed);相当于同一个元素执行show和hide     

(4)颜色渐变:

$(“#id”).fadeTo(speed,透明度),把颜色透明度转变到特定的透明度;

fadeIn(speed,callbackfunction),透明逐渐减少地出现;

fadeout(speed,callbackfunction);透明渐变,直至消失;

(5)自定义动画-$(selector).animate({params},[duration],[easing],[callback]);

一般情况下等都使用这样的简便模式,例如:

$(“#id”).animate({height:100px,opacity:0.1},”slow”);//状态1

$(“#id”).animate({height:200px,opacity:0.5},”slow”);//状态2,形状变化

$(“#id”).animate({left:100px,opacity:0.1},”slow”);//状态3.移动,移动类div要设置position:relative或者absolute

 

7.callback函数:能够避免前面函数启动后还没执行完毕(如渐变类),后面的函数就开始了

8.jq的HTML操作:

(1)$(#delector).html(“conent”):相当于innerHTML,把内容改变成为…“=”

(2)$(#selector).append(“”),在原有内容的后面添加新内容,“+=”

(3)$(#delector).after(“”)/before(“”),添加在selector后面、前面(元素之外,如<img />23)      和$(“<span>插入内容</span>”).insertAfter(“p”);相似

9.jq操作css(sytle)

$(#selector).css(name.value)-单个css的属性,如height ,width,backgoundColor

$(#deledtor).css({property})-类似css的{}

$(#selector).css(name)-返回css某属性的值

 

10.jq的size操作:(相当于简化css的height和width)

$(selctor).height/width(“value”)

 

11.jq延迟队列操作:

clearQueue()-清空排队未执行的事件

delay()-延迟

queue()-显示队列函数

 

三、Jquery-- AJAX函数

(一)基本理论:例如通过AJAX引用txt文件,改变内容:$(“#div”).load(“///*.txt”);在div上读取txt并写在里面

小知识:AJAX 通过在后台与服务器交换少量数据的方式,允许网页进行异步更新。这意味着有可能在不重载整个页面的情况下,对网页的一部分进行更新(用于不重载和局部提交

(二)常用方法

1.$(selector).load(url,data,callback)-一般都是直接使用URL参数

2.$.ajax(option)- option 参数设置的是 name|value 对,定义 url 数据、密码、数据类型、过滤器、字符集、超时以及错误函数,把远程数据加载到XMLHttpRequest

3.$.get(url,data,callback,type)-使用HTML get加载远程数据

4.$.post(url,data,datacallback,type)-使用HTML post加载远程数据

5.$.getJSON(url,data,callback)-get获取json的数据

6.$.getScript(url,callback)-加载并执行远程的js文件

(selector) jQuery 元素选择器语法

(url) 被加载的数据的 URL(地址)

(data) 发送到服务器的数据的键/值对象

(callback) 当数据被加载时,所执行的函数

(type) 被返回的数据的类型 (html,xml,json,jasonp,script,text)

(options) 完整 AJAX 请求的所有键/值对选项

 

四.Jquery选择器知识补充

这里补充一些上面没记录的选择器:

$(“*”)-选择所有元素;

$(“.class1.class2”),class=class1且 =class2;

$(“p:first”)-第一个<p>元素,p:last原理类推;

$(“tr:even”)-所有偶数tr元素;

$(“tr:odd”)-所有奇数tr元素;

$(“ul li:eq(i)”)-从第i+1个元素开始(索引0开始的);

$(“ul li:gt(i)”)-列出索引大于i的元素

$(“ul li:lt(i)”)-列出索引小于i的元素

$(“input :not(:empty)”)-列出所有不为空的input元素

$(“:header”)-列出<h1><h2>等所有标题元素

$(“animated”)-所有动画元素

$(“:contains(‘s’)”)-所有含有s的元素

$(“:empty”)-无子元素节点的所有元素

$(“p:hidden”)-所有隐藏的p元素,相对的是visible

$(“th,td,.class,#id”)多个被匹配的元素

$(“:input”)所有<input>的元素

$(“:text”)所有<…type=”text”…>

$(“:password”)-<type=”password”>,其他类似submit ,reset,radio,checkbox,button,image等等

此外还可以选择状态的:$(“:enable”),”:disable”;”:selected”,”:checked”

 

五、jquery事件方法

$(”button#id”).click(function(){$(“img”).hide();})

此外还有其他方法

方法

描述

ready():$(document).ready(function(){})

文档就绪事件(当 HTML 文档就绪可用时)

blur():$(“#id”).blur(function(){})

失去标点时发生

change():$(“#id”).change(function(){})

字体改变和select改变引起的方法

click():$(“#id”).click(function(){})

点击

dblclick():

双击

error():$(“#id”).error(function(){$(“#id”)

.replacewith(“<div>无法显示…</div>”)})

 

focus():$(“#id”).focus(function(){})

鼠标焦点落在对象引起,和blur相反

keydown():$(“#id”).keydown(function(){})

按下按键

keypress()

按下按键和放起来

keyup()

按下后起来

load()

$(“img”).load()-对象加载(非页面).ready页面主要元素加载完(有时候img不一定加载)

mousedown()

鼠标按下

mouseenter()

鼠标进入,一般搭配$().css({})

mouseleave()

鼠标离开元素本身,子元素不计算在内

mousemove():$(document).mousemove(function(e){

    $("span").text(e.pageX + ", " + e.pageY);

  });

鼠标移动(在$对象上)

mouseout():

鼠标离开元素本身或者子元素都会引发

mouseover():

鼠标在对象上

mouseup():

点击放开引起

resize():$(window).resize(function(){})

窗体大小改变引起,对象一般是window

scroll():$(“div”).scroll(function(){})

拖动条被拖动的时候

select():

鼠标选择

submit():

Form提交的时候发生

unload():

卸载对象的时候

 

 

六 jquery的事件处理方法

 

事件处理方法把事件处理器绑定至匹配元素中(添加事件)。

$(“selector”).bind(eventtype(类型),data,function(){})-添加一个或者更多的事件处理器;

$(“selector”).unbind();移除bind定的方法

$(selector).delegate(selector1,eventtype(类型click等),function(){})-添加事件;可以是后来用代码生成的

…undelegate();移除绑定

$(selector).live(eventtype ,data,function(){})-添加event

$(selector).die(eventtype,function(){})-移除所有的由live添加的事件处理器,无参数表示全部

$(selector).trigger(eventtype,data,function(){})-为所有匹配的因素指定事件

$(selector).trigger(eventtype,function(){})-

$(delector).one(event ,data1,data2….)-添加一次执行的事件监听器

 

 

 

七、jquery 文档操作(带测试)

 

除了html()外,其余方法都对XML和HTML适用

方法$(“#id”).

描述

addClass(“classname”);

向匹配的元素添加指定的类名。

after(“content”);

在匹配的元素之后插入内容。

append(“content”);

向匹配的元素内部追加内容。

$(“content”).appendTo(“#id”);

向匹配的元素内部追加内容。

attr(“attribute”,value);

设置或返回匹配元素的属性和值。

before(“content”);

在每个匹配的元素之前插入内容。

clone();clone完后用append等插入

创建匹配元素集合的副本。

detach();无参数

从 DOM 中移除匹配元素集合。prepend();可恢复

empty();无参数

删除匹配的元素集合中所有的节点。

hasClass(“classname”);

检查匹配的元素是否拥有指定的类。

html(“content”);无参数表示返回

设置或返回匹配的元素集合中的 HTML 内容。

$(content).insertAfter(“#id”);

把匹配的元素插入到另一个指定的元素集合的后面。

insertBefore();同上

把匹配的元素插入到另一个指定的元素集合的前面。

prepend(content);

向每个匹配的元素内部前置内容。

prependTo();

向每个匹配的元素内部前置内容。

remove();无参数

移除所有匹配的元素。

removeAttr(“class/id”);

从所有匹配的元素中移除指定的属性。

removeClass(“classname”);

从所有匹配的元素中删除全部或者指定的类。

replaceAll(content);替换所有选择器匹配content的内容

用匹配的元素替换所有匹配到的元素。

replaceWith(content);

用新内容替换匹配如:#id的元素。

text(content);无参数表示获取text

设置或返回匹配元素的内容。

toggleClass(“classname”);

从匹配的元素中添加或删除一个类。常用于类特效的切换

unwrap(“div“);

移除并替换指定元素的父元素。如css中定义div p这类,去掉div剩下p

val(“input“);

设置或返回匹配元素的值。多数是Input类元素的value

wrap(“div”);

把匹配的元素用指定的内容或元素包裹起来。如

$(“p”).wrap(“div”)<=>p-><div><p>…..</div>-添加了div

wrapAll();类似上面

把所有匹配的元素用指定的内容或元素包裹起来。

wrapinner(“<b></b>”);

添加到p的内部:

$(“p”).wrapinner(“<b></>”)<=><p><b></b></p>

 

八、jq的属性操作

 

方法

描述

addClass()

向匹配的元素添加指定的类名。

attr()

设置或返回匹配元素的属性和值。

hasClass()

检查匹配的元素是否拥有指定的类。

html()

设置或返回匹配的元素集合中的 HTML 内容。

removeAttr()

从所有匹配的元素中移除指定的属性。

removeClass()

从所有匹配的元素中删除全部或者指定的类。

toggleClass()

从匹配的元素中添加或删除一个类。

val()

设置或返回匹配元素的值。

 

九、jq的css操作

 

CSS 属性

描述

css()

设置或返回匹配元素的样式属性。

height()

设置或返回匹配元素的高度。

offset()

返回第一个匹配元素相对于文档的位置。

offsetParent()

返回最近的定位祖先元素。

position()

返回第一个匹配元素相对于父元素的位置。

scrollTop()

设置或返回匹配元素相对滚动条顶部的偏移。

scrollLeft()

设置或返回匹配元素相对滚动条左侧的偏移。

width()

设置或返回匹配元素的宽度。

 

十、JQ的AJAX

 

函数

描述

jQuery.ajax()

执行异步 HTTP (Ajax) 请求。

.ajaxComplete()

当 Ajax 请求完成时注册要调用的处理程序。这是一个 Ajax 事件。

.ajaxError()

当 Ajax 请求完成且出现错误时注册要调用的处理程序。这是一个 Ajax 事件。

.ajaxSend()

在 Ajax 请求发送之前显示一条消息。

jQuery.ajaxSetup()

设置将来的 Ajax 请求的默认值。

.ajaxStart()

当首个 Ajax 请求完成开始时注册要调用的处理程序。这是一个 Ajax 事件。

.ajaxStop()

当所有 Ajax 请求完成时注册要调用的处理程序。这是一个 Ajax 事件。

.ajaxSuccess()

当 Ajax 请求成功完成时显示一条消息。

jQuery.get()

使用 HTTP GET 请求从服务器加载数据。

jQuery.getJSON()

使用 HTTP GET 请求从服务器加载 JSON 编码数据。

jQuery.getScript()

使用 HTTP GET 请求从服务器加载 JavaScript 文件,然后执行该文件。

.load()

从服务器加载数据,然后把返回到 HTML 放入匹配元素。

jQuery.param()

创建数组或对象的序列化表示,适合在 URL 查询字符串或 Ajax 请求中使用。

jQuery.post()

使用 HTTP POST 请求从服务器加载数据。

.serialize()

将表单元素集合作为提交的字符进行编码。

.serializeArray()

将表单元素集合作为数据的名称和值进行编码。

 

十一、jq的遍历

 

函数

描述

.add()

将元素添加到匹配元素的集合中。

.andSelf()

把堆栈中之前的元素集添加到当前集合中。

.children()

获得匹配元素集合中每个元素的所有子元素。

.closest()

从元素本身开始,逐级向上级元素匹配,并返回最先匹配的祖先元素。

.contents()

获得匹配元素集合中每个元素的子元素,包括文本和注释节点。

.each()

对 jQuery 对象进行迭代,为每个匹配元素执行函数。

.end()

结束当前链中最近的一次筛选操作,并将匹配元素集合返回到前一次的状态。

.eq()

将匹配元素集合缩减为位于指定索引的新元素。

.filter()

将匹配元素集合缩减为匹配选择器或匹配函数返回值的新元素。

.find()

获得当前匹配元素集合中每个元素的后代,由选择器进行筛选。

.first()

将匹配元素集合缩减为集合中的第一个元素。

.has()

将匹配元素集合缩减为包含特定元素的后代的集合。

.is()

根据选择器检查当前的匹配元素集合,如果存在至少一个匹配元素,则返回 true。

.last()

将匹配元素集合缩减为集合中的最后一个元素。

.map()

把当前匹配集合中的每个元素传递给一个函数,产生包含返回值的新的 JQuery 对象。

.next()

获得匹配元素集合中每个元素紧邻的同辈元素。

.nextAll()

获得匹配元素集合中每个元素之后的所有同辈元素,由选择器进行筛选(可选)。

.nextUntil()

获得每个元素之后所有的同辈元素,直到遇到匹配选择器的元素为止。

.not()

从匹配元素集合中删除元素。

.offsetParent()

获得用于定位的第一个父元素。

.parent()

获得当前匹配元素集合中每个元素的父元素,由选择器筛选(可选)。

.parentsUntil()

获得当前匹配元素集合中每个元素的祖先元素,直到遇到匹配选择器的元素为止。

.prev()

获得匹配元素集合中每个元素紧邻的前一个同辈元素,由选择器筛选(可选)。

.prevAll()

获得匹配元素集合中每个元素之前的所有同辈元素,由选择器进行筛选(可选)。

.prevUntil()

获得每个元素之前所有的同辈元素,直到遇到匹配选择器的元素为止。

.siblings()

获得匹配元素集合中所有元素的同辈元素,由选择器筛选(可选)。

.slice()

将匹配元素集合缩减为指定范围的子集。

 

十二、jq的数据存储

 

函数

描述

.data(var[i],value)

存储与匹配元素相关的任意数据。应用:$(“div”).date(“var1”)

jQuery.data()

存储与指定元素相关的任意数据。

.removeData()

移除之前存放的数据。

jQuery.removeData()

移除之前存放的数据。

 

十三、jq核心

 

函数

描述

jQuery()

接受一个字符串,其中包含了用于匹配元素集合的 CSS 选择器。

jQuery.noConflict()

运行这个函数将变量 $ 的控制权让渡给第一个实现它的那个库。

 

省略了一些重复的内容(本笔记完)

jquery复习笔记