CandyGoo 2015-07-19
以下防止文档在完全加载之前运行Jquery代码,否则会出现试图隐藏一个不存在的元素、获得未完全加载的图像的大小等等
$(document).ready(function(){
jquery代码;
});
<scripttype="text/javascript"src="c:/scripts/jquery-1.4.2.min.js"></script>
通过src引入jquery库,也可以通过google或microsoft的CDN引入
基础语法是:$(selector).action()
selector:
1、id选择器:$("#test").hide();有个id属性为test的标签
2、class选择器$(".test").hide();有个class属性为test的标签
3、标签选择器:$("p").hide();有个p标签
4、
jquery效果:
1、显示/隐藏
hide(speed,callback);
show(speed,callback);
toggle(speed,callback);
2、淡入淡出
fadeIn(speed,callback)淡入
fadeOut(speed,callback)淡出
fadeToggle(speed,callback)自动在淡入淡出之间切换
fadeTo(speed,operator,callback)淡出到不透明度(0~1之间)
3、滑动
slideDown(speed,callback);
slideUp(speed,callback);
slideToggle(speed,callback);
4、动画
(1)$(selector).animate({params},speed,callback);param可以使相对值(+=、-=),也可以是绝对值
(2)$("button").click(function(){//param是预定义值
$("div").animate({
height:'toggle'
});
});
5、停止动画
$(selector).stop(stopAll,goToEnd);
可选的stopAll参数规定是否应该清除动画队列。默认是false,即仅停止活动的动画,允许任何排入队列的动画向后执行。
可选的goToEnd参数规定是否立即完成当前动画。默认是false。
因此,默认地,stop()会清除在被选元素上指定的当前动画。
例:
不带参:按钮会停止当前活动的动画,但允许已排队的动画向前执行。
带一个参数true:按钮停止当前活动的动画,并清空动画队列;因此元素上的所有动画都会停止。
带两个参数true:会立即完成当前活动的动画,然后停下来。
6、jQueryDOM操作:jQuery提供一系列与DOM相关的方法,这使访问和操作元素和属性变得很容易
三个简单实用的用于DOM操作的jQuery方法:
获取值:
1、text()-设置或返回所选元素的文本内容
alert("Text="+$("#test").text());//现实标签的文本内容
2、html()-设置或返回所选元素的内容(包括HTML标记)
alert("HTML="+$("#test").html());//现实标签的文本内容,包括里面的html标记
3、val()-设置或返回表单字段的值
alert($(this).val());//表单填什么现实什么
4、attr()-获取标签的属性
alert($("#a").attr("href"));//获取href属性的值
设置值:
$("#test1").text("NEWHORIZEN");
$("#test2").html("<b>Helloworld!</b>");
$("#test3").val("DollyDocker!");
添加值:
我们将学习用于添加新内容的四个jQuery方法:
append()-在被选元素的结尾插入内容$("p").append("Someappendedtext.");
prepend()-在被选元素的开头插入内容$("p").prepend("Someappendedtext.");
after()-在被选元素之后插入内容在所选元素后面添加内容
before()-在被选元素之前插入内容在所选元素前面添加内容
举例:append和prepend添加队列
functionappendText(){
vartxt1="<p>Text.</p>";//以HTML创建新元素
vartxt2=$("<p></p>").text("Text.");//以jQuery创建新元素
vartxt3=document.createElement("p");//以DOM创建新元素
txt3.innerHTML="Text.";
$("p").append(txt1,txt2,txt3);//追加新元素
}
删除元素/内容:
如需删除元素和内容,一般可使用以下两个jQuery方法:
remove()-删除被选元素(及其子元素)
empty()-从被选元素中删除子元素
获取并设置CSS类:
$("h1,h2,p").addClass("blue");//添加
$("h1,h2,p").removeClass("blue");//删除
$("h1,h2,p").toggleClass("blue");//为h1、h2、p添加和删除class="blue"
jQuerycss()方法获取或设置元素属性
$("p").css("background-color");//获取
css({"propertyname":"value","propertyname":"value",...});//设置
jQuery尺寸方法:
width()方法设置或返回元素的宽度(不包括内边距、边框或外边距)
height()方法设置或返回元素的高度(不包括内边距、边框或外边距)
innerWidth()方法返回元素的宽度(包括内边距padding*2)
innerHeight()方法返回元素的高度(包括内边距padding*2)
outerWidth()方法返回元素的宽度(包括内边距和边框padding*2、border*2)
outerHeight()方法返回元素的高度(包括内边距和边框padding*2、border*2)。
$(document).width()/$(document).height()
$(window).width()/$(window).height()
JQUERY遍历
1、祖先:
向上遍历DOM树,这些jQuery方法很有用,它们用于向上遍历DOM树:
parent()方法返回被选元素的直接父元素。
parents()方法返回被选元素的所有祖先元素,它一路向上直到文档的根元素(<html>)。
$("span").parents("ul");返回所有<span>元素的所有祖先,并且它是<ul>元素
parentsUntil()方法返回介于两个给定元素之间的所有祖先元素
$("span").parentsUntil("div");返回介于<span>与<div>元素之间的所有<span>的祖先元素
2、后代
向下遍历DOM树,下面是两个用于向下遍历DOM树的jQuery方法:
children()方法返回被选元素的所有直接子元素,该方法只会向下一级对DOM树进行遍历
$("div").children("p.1");返回类名为"1"的所有<p>元素,并且它们是<div>的直接子元素
find()方法返回被选元素的后代元素,一路向下直到最后一个后代
$("div").find("span");返回属于<div>后代的所有<span>元素
$("div").find("*");返回<div>的所有后代
3、同胞
在DOM树中水平遍历,有许多有用的方法让我们在DOM树进行水平遍历:
siblings()返回被选元素的所有同胞元素
("h2").siblings();所有同胞元素
$("h2").siblings("p");所有同胞元素p
next()方法返回被选元素的下一个同胞元素。
$("h2").next();返回<h2>的下一个同胞元素
nextAll()
$("h2").nextAll();返回<h2>的所有跟随的同胞元素
nextUntil()方法返回介于两个给定参数之间的所有跟随的同胞元素
$("h2").nextUntil("h6");返回介于<h2>与<h6>元素之间的所有同胞元素
prev()/prevAll()/prevUntil()
prev(),prevAll()以及prevUntil()方法的工作方式与上面的方法类似,只不过方向相反而已:
它们返回的是前面的同胞元素(在DOM树中沿着同胞元素向后遍历,而不是向前)。
4、过滤
缩写搜索元素的范围
三个最基本的过滤方法是:first(),last()和eq(),它们允许您基于其在一组元素中的位置来选择一个特定的元素。
其他过滤方法,比如filter()和not()允许您选取匹配或不匹配某项指定标准的元素。
first()方法返回被选元素的首个元素。
$("divp").first();选取首个<div>元素内部的第一个<p>元素:
last()方法返回被选元素的最后一个元素
$("divp").last();选择最后一个<div>元素中的最后一个<p>元素
eq()方法返回被选元素中带有指定索引号的元素。
$("p").eq(1);索引号从0开始,因此首个元素的索引号是0而不是1。下面的例子选取第二个<p>元素(索引号1)
filter()方法允许您规定一个标准。不匹配这个标准的元素会被从集合中删除,匹配的元素会被返回。
$("p").filter(".intro");返回带有类名"intro"的所有<p>元素:
not()方法返回不匹配标准的所有元素,not()方法与filter()相反。
$("p").not(".intro");返回不带有类名"intro"的所有<p>元素:
jQuery-AJAX
jQueryload()方法从服务器加载数据,并把返回的数据放入被选元素中
$(selector).load(URL,data,callback);
必需的URL参数规定您希望加载的URL。
可选的data参数规定与请求一同发送的查询字符串键/值对集合。
可选的callback参数是load()方法完成后所执行的函数名称。
jQueryget()和post()方法用于通过HTTPGET或POST请求从服务器请求数据
两种在客户端和服务器端进行请求-响应的常用方法是:GET和POST。
GET-从指定的资源请求数据,基本上用于从服务器获得(取回)数据。注释:GET方法可能返回缓存数据
POST-向指定的资源提交要处理的数据,也可用于从服务器获取数据。不过,POST方法不会缓存数据,并且常用于连同请求一起发送数据。