JQ

通过jQuery,您可以选取(查询,query)HTML元素,并对它们执行“操作”(actions)。

jQuery名称冲突

jQuery使用$符号作为jQuery的简介方式。

某些其他JavaScript库中的函数(比如Prototype)同样使用$符号。

jQuery使用名为noConflict()的方法来解决该问题。

var jq=jQuery.noConflict(),帮助您使用自己的名称(比如jq)来代替$符号。

亲自试一试

结论

由于jQuery是为处理HTML事件而特别设计的,那么当您遵循以下原则时,您的代码会更恰当且更易维护:

•把所有jQuery代码置于事件处理函数中

•把所有事件处理函数置于文档就绪事件处理器中

•把jQuery代码置于单独的.js文件中

•如果存在名称冲突,则重命名jQuery库

jQuery事件

下面是jQuery中事件方法的一些例子:

Event函数

绑定函数至

$(document).ready(function)

将函数绑定到文档的就绪事件(当文档完成加载时)

$(selector).click(function)

触发或将函数绑定到被选元素的点击事件

$(selector).dblclick(function)

触发或将函数绑定到被选元素的双击事件

$(selector).focus(function)

触发或将函数绑定到被选元素的获得焦点事件

$(selector).mouseover(function)

触发或将函数绑定到被选元素的鼠标悬停事件

如需完整的参考手册,请访问我们的jQuery 事件参考手册。

jQuery效果-隐藏和显示

•jQuery 事件

•jQuery 淡入淡出

隐藏、显示、切换,滑动,淡入淡出,以及动画,哇哦!

效果演示

点击这里,隐藏/显示面板

实例

jQuery hide()

演示一个简单的jQuery hide()方法。

jQuery hide()

另一个hide()演示。如何隐藏部分文本。

jQuery hide()和show()

通过jQuery,您可以使用hide()和show()方法来隐藏和显示HTML元素:

$("#hide").click(function(){

$("p").hide();

});

$("#show").click(function(){

$("p").show();

});

亲自试一试

语法:

$(selector).hide(speed,callback);

$(selector).show(speed,callback);

可选的speed参数规定隐藏/显示的速度,可以取以下值:"slow"、"fast"或毫秒。

可选的callback参数是隐藏或显示完成后所执行的函数名称。

下面的例子演示了带有speed参数的hide()方法:

实例

$("button").click(function(){

$("p").hide(1000);

});

亲自试一试

jQuery toggle()

通过jQuery,您可以使用toggle()方法来切换hide()和show()方法。

显示被隐藏的元素,并隐藏已显示的元素:

实例

$("button").click(function(){

$("p").toggle();

});

亲自试一试

语法:

$(selector).toggle(speed,callback);

可选的speed参数规定隐藏/显示的速度,可以取以下值:"slow"、"fast"或毫秒。

可选的callback参数是toggle()方法完成后所执行的函数名称。

jQuery效果参考手册

如需全面查阅jQuery效果,请访问我们的jQuery 效果参考手册。

_-----------------

jQuery效果-淡入淡出

•jQuery 隐藏/显示

•jQuery 滑动

通过jQuery,您可以实现元素的淡入淡出效果。

效果演示

点击这里,隐藏/显示面板

实例

jQuery fadeIn()

演示jQuery fadeIn()方法。

jQuery fadeOut()

演示jQuery fadeOut()方法。

jQuery fadeToggle()

演示jQuery fadeToggle()方法。

jQuery fadeTo()

演示jQuery fadeTo()方法。

jQuery Fading方法

通过jQuery,您可以实现元素的淡入淡出效果。

jQuery拥有下面四种fade方法:

•fadeIn()

•fadeOut()

•fadeToggle()

•fadeTo()

jQuery fadeIn()方法

jQuery fadeIn()用于淡入已隐藏的元素。

语法:

$(selector).fadeIn(speed,callback);

可选的speed参数规定效果的时长。它可以取以下值:"slow"、"fast"或毫秒。

可选的callback参数是fading完成后所执行的函数名称。

下面的例子演示了带有不同参数的fadeIn()方法:

实例

$("button").click(function(){

$("#div1").fadeIn();

$("#div2").fadeIn("slow");

$("#div3").fadeIn(3000);

});

亲自试一试

jQuery fadeOut()方法

jQuery fadeOut()方法用于淡出可见元素。

语法:

$(selector).fadeOut(speed,callback);

可选的speed参数规定效果的时长。它可以取以下值:"slow"、"fast"或毫秒。

可选的callback参数是fading完成后所执行的函数名称。

下面的例子演示了带有不同参数的fadeOut()方法:

实例

$("button").click(function(){

$("#div1").fadeOut();

$("#div2").fadeOut("slow");

$("#div3").fadeOut(3000);

});

亲自试一试

jQuery fadeToggle()方法

jQuery fadeToggle()方法可以在fadeIn()与fadeOut()方法之间进行切换。

如果元素已淡出,则fadeToggle()会向元素添加淡入效果。

如果元素已淡入,则fadeToggle()会向元素添加淡出效果。

语法:

$(selector).fadeToggle(speed,callback);

可选的speed参数规定效果的时长。它可以取以下值:"slow"、"fast"或毫秒。

可选的callback参数是fading完成后所执行的函数名称。

下面的例子演示了带有不同参数的fadeToggle()方法:

实例

$("button").click(function(){

$("#div1").fadeToggle();

$("#div2").fadeToggle("slow");

$("#div3").fadeToggle(3000);

});

亲自试一试

jQuery fadeTo()方法

jQuery fadeTo()方法允许渐变为给定的不透明度(值介于0与1之间)。

语法:

$(selector).fadeTo(speed,opacity,callback);

必需的speed参数规定效果的时长。它可以取以下值:"slow"、"fast"或毫秒。

fadeTo()方法中必需的opacity参数将淡入淡出效果设置为给定的不透明度(值介于0与1之间)。

可选的callback参数是该函数完成后所执行的函数名称。

下面的例子演示了带有不同参数的fadeTo()方法:

实例

$("button").click(function(){

$("#div1").fadeTo("slow",0.15);

$("#div2").fadeTo("slow",0.4);

$("#div3").fadeTo("slow",0.7);

});

亲自试一试

jQuery效果参考手册

如需全面查阅jQuery效果,请访问我们的jQuery 效果参考手册。

----------------

jQuery效果-滑动

•jQuery 淡入淡出

•jQuery 动画

jQuery滑动方法可使元素上下滑动。

效果演示

点击这里,隐藏/显示面板

实例

jQuery slideDown()

演示jQuery slideDown()方法。

jQuery slideUp()

演示jQuery slideUp()方法。

jQuery slideToggle()

演示jQuery slideToggle()方法。

jQuery滑动方法

通过jQuery,您可以在元素上创建滑动效果。

jQuery拥有以下滑动方法:

•slideDown()

•slideUp()

•slideToggle()

jQuery slideDown()方法

jQuery slideDown()方法用于向下滑动元素。

语法:

$(selector).slideDown(speed,callback);

可选的speed参数规定效果的时长。它可以取以下值:"slow"、"fast"或毫秒。

可选的callback参数是滑动完成后所执行的函数名称。

下面的例子演示了slideDown()方法:

实例

$("#flip").click(function(){

$("#panel").slideDown();

});

亲自试一试

jQuery slideUp()方法

jQuery slideUp()方法用于向上滑动元素。

语法:

$(selector).slideUp(speed,callback);

可选的speed参数规定效果的时长。它可以取以下值:"slow"、"fast"或毫秒。

可选的callback参数是滑动完成后所执行的函数名称。

下面的例子演示了slideUp()方法:

实例

$("#flip").click(function(){

$("#panel").slideUp();

});

亲自试一试

jQuery slideToggle()方法

jQuery slideToggle()方法可以在slideDown()与slideUp()方法之间进行切换。

如果元素向下滑动,则slideToggle()可向上滑动它们。

如果元素向上滑动,则slideToggle()可向下滑动它们。

$(selector).slideToggle(speed,callback);

可选的speed参数规定效果的时长。它可以取以下值:"slow"、"fast"或毫秒。

可选的callback参数是滑动完成后所执行的函数名称。

下面的例子演示了slideToggle()方法:

实例

$("#flip").click(function(){

$("#panel").slideToggle();

});

亲自试一试

jQuery效果参考手册

如需全面查阅jQuery效果,请访问我们的jQuery 效果参考手册。

__------------------------

jQuery效果-动画

•jQuery 滑动

•jQuery stop()

jQuery animate()方法允许您创建自定义的动画。

效果演示

开始动画

jQuery

jQuery动画- animate()方法

jQuery animate()方法用于创建自定义动画。

语法:

$(selector).animate({params},speed,callback);

必需的params参数定义形成动画的CSS属性。

可选的speed参数规定效果的时长。它可以取以下值:"slow"、"fast"或毫秒。

可选的callback参数是动画完成后所执行的函数名称。

下面的例子演示animate()方法的简单应用;它把

元素移动到左边,直到left属性等于250像素为止:

实例

$("button").click(function(){

$("div").animate({left:'250px'});

});

亲自试一试

提示:默认地,所有HTML元素都有一个静态位置,且无法移动。

如需对位置进行操作,要记得首先把元素的CSS position属性设置为relative、fixed或absolute!

jQuery animate() -操作多个属性

请注意,生成动画的过程中可同时使用多个属性:

实例

$("button").click(function(){

$("div").animate({

left:'250px',

opacity:'0.5',

height:'150px',

width:'150px'

});

});

亲自试一试

提示:可以用animate()方法来操作所有CSS属性吗?

是的,几乎可以!不过,需要记住一件重要的事情:当使用animate()时,必须使用Camel标记法书写所有的属性名,比如,必须使用paddingLeft而不是padding-left,使用marginRight而不是margin-right,等等。

同时,色彩动画并不包含在核心jQuery库中。

如果需要生成颜色动画,您需要从jQuery.com下载Color Animations插件。

jQuery animate() -使用相对值

也可以定义相对值(该值相对于元素的当前值)。需要在值的前面加上+=或-=:

实例

$("button").click(function(){

$("div").animate({

left:'250px',

height:'+=150px',

width:'+=150px'

});

});

亲自试一试

jQuery animate() -使用预定义的值

您甚至可以把属性的动画值设置为"show"、"hide"或"toggle":

实例

$("button").click(function(){

$("div").animate({

height:'toggle'

});

});

亲自试一试

jQuery animate() -使用队列功能

默认地,jQuery提供针对动画的队列功能。

这意味着如果您在彼此之后编写多个animate()调用,jQuery会创建包含这些方法调用的“内部”队列。然后逐一运行这些animate调用。

实例1

隐藏,如果您希望在彼此之后执行不同的动画,那么我们要利用队列功能:

$("button").click(function(){

vardiv=$("div");

div.animate({height:'300px',opacity:'0.4'},"slow");

div.animate({width:'300px',opacity:'0.8'},"slow");

div.animate({height:'100px',opacity:'0.4'},"slow");

div.animate({width:'100px',opacity:'0.8'},"slow");

});

亲自试一试

实例2

下面的例子把

元素移动到右边,然后增加文本的字号:

$("button").click(function(){

vardiv=$("div");

div.animate({left:'100px'},"slow");

div.animate({fontSize:'3em'},"slow");

});

亲自试一试

jQuery停止动画

•jQuery 动画

•jQuery Callback

jQuery stop()方法用于在动画或效果完成前对它们进行停止。

效果演示

停止滑动

点击这里,向上/向下滑动面板

实例

jQuery stop() 滑动

演示jQuery stop()方法。

jQuery stop() 动画(带有参数)

演示jQuery stop()方法。

jQuery stop()方法

jQuery stop()方法用于停止动画或效果,在它们完成之前。

stop()方法适用于所有jQuery效果函数,包括滑动、淡入淡出和自定义动画。

语法

$(selector).stop(stopAll,goToEnd);

可选的stopAll参数规定是否应该清除动画队列。默认是false,即仅停止活动的动画,允许任何排入队列的动画向后执行。

可选的goToEnd参数规定是否立即完成当前动画。默认是false。

因此,默认地,stop()会清除在被选元素上指定的当前动画。

下面的例子演示stop()方法,不带参数:

实例

$("#stop").click(function(){

$("#panel").stop();

});

亲自试一试

jQuery效果参考手册

如需全面查阅jQuery效果,请访问我们的jQuery 效果参考手册。

jQuery Callback函数

•jQuery stop()

•jQuery Chaining

Callback函数在当前动画100%完成之后执行。

jQuery动画的问题

许多jQuery函数涉及动画。这些函数也许会将speedduration作为可选参数。

例子:$("p").hide("slow")

speedduration参数可以设置许多不同的值,比如"slow", "fast", "normal"或毫秒。

实例

$("button").click(function(){

$("p").hide(1000);

});

亲自试一试

由于JavaScript语句(指令)是逐一执行的-按照次序,动画之后的语句可能会产生错误或页面冲突,因为动画还没有完成。

为了避免这个情况,您可以以参数的形式添加Callback函数。

jQuery Callback函数

当动画100%完成后,即调用Callback函数。

典型的语法:

$(selector).hide(speed,callback)

callback参数是一个在hide操作完成后被执行的函数。

错误(没有callback

$("p").hide(1000);

alert("The paragraph is now hidden");

亲自试一试13

正确(有callback

$("p").hide(1000,function(){

alert("The paragraph is now hidden");

});

亲自试一试

结论:如果您希望在一个涉及动画的函数之后来执行语句,请使用callback函数。

jQuery - Chaining

•jQuery Callback

•jQuery 获取

通过jQuery,您可以把动作/方法链接起来。

Chaining允许我们在一条语句中允许多个jQuery方法(在相同的元素上)。

jQuery方法链接

直到现在,我们都是一次写一条jQuery语句(一条接着另一条)。

不过,有一种名为链接(chaining)的技术,允许我们在相同的元素上运行多条jQuery命令,一条接着另一条。

提示:这样的话,浏览器就不必多次查找相同的元素。

如需链接一个动作,您只需简单地把该动作追加到之前的动作上。

例子1

下面的例子把css(), slideUp(), and slideDown()链接在一起。"p1"元素首先会变为红色,然后向上滑动,然后向下滑动:

$("#p1").css("color","red").slideUp(2000).slideDown(2000);

亲自试一试

如果需要,我们也可以添加多个方法调用。

提示:当进行链接时,代码行会变得很差。不过,jQuery在语法上不是很严格;您可以按照希望的格式来写,包含折行和缩进。

例子2

这样写也可以运行:

$("#p1").css("color","red")

.slideUp(2000)

.slideDown(2000);

亲自试一试

jQuery会抛掉多余的空格,并按照一行长代码来执行上面的代码行。

---0----------------------

jQuery -获得内容和属性

•jQuery Chaining

•jQuery 设置

jQuery拥有可操作HTML元素和属性的强大方法。

jQuery DOM操作

jQuery中非常重要的部分,就是操作DOM的能力。

jQuery提供一系列与DOM相关的方法,这使访问和操作元素和属性变得很容易。

提示:DOM = Document Object Model(文档对象模型)

DOM定义访问HTML和XML文档的标准:

“W3C文档对象模型独立于平台和语言的界面,允许程序和脚本动态访问和更新文档的内容、结构以及样式。”

获得内容- text()、html()以及val()

三个简单实用的用于DOM操作的jQuery方法:

•text() -设置或返回所选元素的文本内容

•html() -设置或返回所选元素的内容(包括HTML标记)

•val() -设置或返回表单字段的值

下面的例子演示如何通过jQuery text()和html()方法来获得内容:

实例

$("#btn1").click(function(){

alert("Text: " + $("#test").text());

});

$("#btn2").click(function(){

alert("HTML:" + $("#test").html());

});

亲自试一试

下面的例子演示如何通过jQuery val()方法获得输入字段的值:

实例

$("#btn1").click(function(){

alert("Value: " + $("#test").val());

});

亲自试一试

获取属性- attr()

jQuery attr()方法用于获取属性值。

下面的例子演示如何获得链接中href属性的值:

实例

$("button").click(function(){

alert($("#w3s").attr("href"));

});

亲自试一试

下一章会讲解如何设置(改变)内容和属性值。

jQuery HTML参考手册

如需有关jQuery HTML方法的完整内容,请访问以下参考手册:

•jQuery 文档操作

•jQuery 属性操作

•jQuery CSS 操作

jQuery -设置内容和属性

•jQuery 获取

•jQuery 添加

设置内容- text()、html()以及val()

我们将使用前一章中的三个相同的方法来设置内容:

•text() -设置或返回所选元素的文本内容

•html() -设置或返回所选元素的内容(包括HTML标记)

•val() -设置或返回表单字段的值

下面的例子演示如何通过text()、html()以及val()方法来设置内容:

实例

$("#btn1").click(function(){

$("#test1").text("Hello world!");

});

$("#btn2").click(function(){

$("#test2").html("Hello world!");

});

$("#btn3").click(function(){

$("#test3").val("Dolly Duck");

});

亲自试一试

text()、html()以及val()的回调函数

上面的三个jQuery方法:text()、html()以及val(),同样拥有回调函数。回调函数由两个参数:被选元素列表中当前元素的下标,以及原始(旧的)值。然后以函数新值返回您希望使用的字符串。

下面的例子演示带有回调函数的text()和html():

实例

$("#btn1").click(function(){

$("#test1").text(function(i,origText){

return"Old text: " + origText + " New text: Hello world!

(index: " + i + ")";

});

});

$("#btn2").click(function(){

$("#test2").html(function(i,origText){

return"Old html: " + origText + " New html: Helloworld!

(index: " + i + ")";

});

});

亲自试一试

设置属性- attr()

jQuery attr()方法也用于设置/改变属性值。

下面的例子演示如何改变(设置)链接中href属性的值:

实例

$("button").click(function(){

$("#w3s").attr("href","http://www.w3school.com.cn/jquery");

});

亲自试一试

attr()方法也允许您同时设置多个属性。

下面的例子演示如何同时设置href和title属性:

实例

$("button").click(function(){

$("#w3s").attr({

"href" : "http://www.w3school.com.cn/jquery",

"title" : "W3School jQuery Tutorial"

});

});

亲自试一试

attr()的回调函数

jQuery方法attr(),也提供回调函数。回调函数由两个参数:被选元素列表中当前元素的下标,以及原始(旧的)值。然后以函数新值返回您希望使用的字符串。

下面的例子演示带有回调函数的attr()方法:

实例

$("button").click(function(){

$("#w3s").attr("href", function(i,origValue){

returnorigValue + "/jquery";

});

});

亲自试一试

jQuery HTML参考手册

如需有关jQuery HTML方法的完整内容,请访问以下参考手册:

•jQuery 文档操作

•jQuery 属性操作

•jQuery CSS 操作

jQuery -添加元素

•jQuery 设置

•jQuery 删除

通过jQuery,可以很容易地添加新元素/内容。

添加新的HTML内容

我们将学习用于添加新内容的四个jQuery方法:

•append() -在被选元素的结尾插入内容

•prepend() -在被选元素的开头插入内容

•after() -在被选元素之后插入内容

•before() -在被选元素之前插入内容

jQuery append()方法

jQuery append()方法在被选元素的结尾插入内容。

实例

$("p").append("Some appended text.");

亲自试一试

jQuery prepend()方法

jQuery prepend()方法在被选元素的开头插入内容。

实例

$("p").prepend("Some prependedtext.");

亲自试一试

通过append()和prepend()方法添加若干新元素

在上面的例子中,我们只在被选元素的开头/结尾插入文本/HTML。

不过,append()和prepend()方法能够通过参数接收无限数量的新元素。可以通过jQuery来生成文本/HTML(就像上面的例子那样),或者通过JavaScript代码和DOM元素。

在下面的例子中,我们创建若干个新元素。这些元素可以通过text/HTML、jQuery或者JavaScript/DOM来创建。然后我们通过append()方法把这些新元素追加到文本中(对prepend()同样有效):

实例

function appendText()

{

vartxt1="

Text.

";//以HTML创建新元素

vartxt2=$("").text("Text.");//以jQuery创建新元素

vartxt3=document.createElement("p");//以DOM创建新元素

txt3.innerHTML="Text.";

$("p").append(txt1,txt2,txt3);//追加新元素

}

亲自试一试

jQuery after()和before()方法

jQuery after()方法在被选元素之后插入内容。

jQuery before()方法在被选元素之前插入内容。

实例

$("img").after("Some textafter");

$("img").before("Some textbefore");

亲自试一试

通过after()和before()方法添加若干新元素

after()和before()方法能够通过参数接收无限数量的新元素。可以通过text/HTML、jQuery或者JavaScript/DOM来创建新元素。

在下面的例子中,我们创建若干新元素。这些元素可以通过text/HTML、jQuery或者JavaScript/DOM来创建。然后我们通过after()方法把这些新元素插到文本中(对before()同样有效):

实例

function afterText()

{

var txt1="I ";//以HTML创建新元素

vartxt2=$("").text("love ");//通过jQuery创建新元素

vartxt3=document.createElement("big");//通过DOM创建新元素

txt3.innerHTML="jQuery!";

$("img").after(txt1,txt2,txt3);//在img之后插入新元素

}

亲自试一试

jQuery HTML参考手册

如需有关jQuery HTML方法的完整内容,请访问以下参考手册:

•jQuery 文档操作

•jQuery 属性操作

•jQuery CSS 操作

jQuery -删除元素

•jQuery 添加

•jQuery CSS 类

通过jQuery,可以很容易地删除已有的HTML元素。

删除元素/内容

如需删除元素和内容,一般可使用以下两个jQuery方法:

•remove() -删除被选元素(及其子元素)

•empty() -从被选元素中删除子元素

jQuery remove()方法

jQuery remove()方法删除被选元素及其子元素。

实例

$("#div1").remove();

亲自试一试

jQuery empty()方法

jQuery empty()方法删除被选元素的子元素。

实例

$("#div1").empty();

亲自试一试

过滤被删除的元素

jQuery remove()方法也可接受一个参数,允许您对被删元素进行过滤。

该参数可以是任何jQuery选择器的语法。

下面的例子删除class="italic"的所有

元素:

实例

$("p").remove(".italic");

亲自试一试

jQuery HTML参考手册

如需有关jQuery HTML方法的完整内容,请访问以下参考手册:

•jQuery 文档操作

•jQuery 属性操作

•jQuery CSS 操作

jQuery -获取并设置CSS类

•jQuery 删除

•jQuery css()

通过jQuery,可以很容易地对CSS元素进行操作。

切换类

jQuery操作CSS

jQuery拥有若干进行CSS操作的方法。我们将学习下面这些:

•addClass() -向被选元素添加一个或多个类

•removeClass() -从被选元素删除一个或多个类

•toggleClass() -对被选元素进行添加/删除类的切换操作

•css() -设置或返回样式属性

实例样式表

下面的样式表将用于本页的所有例子:

.important

{

font-weight:bold;

font-size:xx-large;

}

.blue

{

color:blue;

}

jQuery addClass()方法

下面的例子展示如何向不同的元素添加class属性。当然,在添加类时,您也可以选取多个元素:

实例

$("button").click(function(){

$("h1,h2,p").addClass("blue");

$("div").addClass("important");

});

亲自试一试

您也可以在addClass()方法中规定多个类:

实例

$("button").click(function(){

$("#div1").addClass("important blue");

});

亲自试一试

jQuery removeClass()方法

下面的例子演示如何不同的元素中删除指定的class属性:

实例

$("button").click(function(){

$("h1,h2,p").removeClass("blue");

});

亲自试一试

jQuery toggleClass()方法

下面的例子将展示如何使用jQuery toggleClass()方法。该方法对被选元素进行添加/删除类的切换操作:

实例

$("button").click(function(){

$("h1,h2,p").toggleClass("blue");

});

亲自试一试

jQuery css()方法

我们将在下一章讲解jQuery css()方法。

jQuery HTML参考手册

如需有关jQuery CSS方法的完整内容,请访问我们的jQuery CSS 操作参考手册

jQuery - css()方法

•jQuery CSS 类

•jQuery 尺寸

jQuery css()方法

css()方法设置或返回被选元素的一个或多个样式属性。

返回CSS属性

如需返回指定的CSS属性的值,请使用如下语法:

css("propertyname");

下面的例子将返回首个匹配元素的background-color值:

实例

$("p").css("background-color");

亲自试一试

设置CSS属性

如需设置指定的CSS属性,请使用如下语法:

css("propertyname","value");

下面的例子将为所有匹配元素设置background-color值:

实例

$("p").css("background-color","yellow");

亲自试一试

设置多个CSS属性

如需设置多个CSS属性,请使用如下语法:

css({"propertyname":"value","propertyname":"value",...});

下面的例子将为所有匹配元素设置background-color和font-size:

实例

$("p").css({"background-color":"yellow","font-size":"200%"});

亲自试一试

jQuery HTML参考手册

如需有关jQuery CSS方法的完整内容,请访问我们的jQuery CSS 操作参考手册

jQuery -尺寸

•jQuery css()

•jQuery 遍历

通过jQuery,很容易处理元素和浏览器窗口的尺寸。

jQuery尺寸 方法

jQuery提供多个处理尺寸的重要方法:

•width()

•height()

•innerWidth()

•innerHeight()

•outerWidth()

•outerHeight()

jQuery width()和height()方法

width()方法设置或返回元素的宽度(不包括内边距、边框或外边距)。

height()方法设置或返回元素的高度(不包括内边距、边框或外边距)。

下面的例子返回指定的

元素的宽度和高度:

实例

$("button").click(function(){

vartxt="";

txt+="Width: " + $("#div1").width() +"
";

txt+="Height: " + $("#div1").height();

$("#div1").html(txt);

});

亲自试一试

jQuery innerWidth()和innerHeight()方法

innerWidth()方法返回元素的宽度(包括内边距)。

innerHeight()方法返回元素的高度(包括内边距)。

下面的例子返回指定的

元素的inner-width/height:

实例

$("button").click(function(){

vartxt="";

txt+="Inner width: " + $("#div1").innerWidth() +"
";

txt+="Inner height: " + $("#div1").innerHeight();

$("#div1").html(txt);

});

亲自试一试

jQuery outerWidth()和outerHeight()方法

outerWidth()方法返回元素的宽度(包括内边距和边框)。

outerHeight()方法返回元素的高度(包括内边距和边框)。

下面的例子返回指定的

元素的outer-width/height:

实例

$("button").click(function(){

vartxt="";

txt+="Outer width: " + $("#div1").outerWidth() +"
";

txt+="Outer height: " + $("#div1").outerHeight();

$("#div1").html(txt);

});

亲自试一试

outerWidth(true)方法返回元素的宽度(包括内边距、边框和外边距)。

outerHeight(true)方法返回元素的高度(包括内边距、边框和外边距)。

实例

$("button").click(function(){

vartxt="";

txt+="Outer width (+margin): " +$("#div1").outerWidth(true) + "
";

txt+="Outer height (+margin): " + $("#div1").outerHeight(true);

$("#div1").html(txt);

});

亲自试一试

jQuery -更多的width()和height()

下面的例子返回文档(HTML文档)和窗口(浏览器视口)的宽度和高度:

实例

$("button").click(function(){

vartxt="";

txt+="Document width/height: " + $(document).width();

txt+="x" + $(document).height() + "\n";

txt+="Window width/height: " + $(window).width();

txt+="x" + $(window).height();

alert(txt);

});

亲自试一试

下面的例子设置指定的

元素的宽度和高度:

实例

$("button").click(function(){

$("#div1").width(500).height(500);

});

亲自试一试

jQuery CSS参考手册

如需关于jQuery Dimensions的完整参考,请访问我们的jQuery尺寸参考手册。

jQuery遍历

•jQuery 尺寸

•jQuery 祖先

什么是遍历?

jQuery遍历,意为“移动”,用于根据其相对于其他元素的关系来“查找”(或选取)HTML元素。以某项选择开始,并沿着这个选择移动,直到抵达您期望的元素为止。

下图展示了一个家族树。通过jQuery遍历,您能够从被选(当前的)元素开始,轻松地在家族树中向上移动(祖先),向下移动(子孙),水平移动(同胞)。这种移动被称为对DOM进行遍历。

图示解释:

元素是

的父元素,同时是其中所有内容的祖先。

元素是

元素的父元素,同时是

的子元素

•左边的

元素是的父元素,

的子元素,同时是

的后代。

•元素是

的子元素,同时是

的后代。

•两个

元素是同胞(拥有相同的父元素)。

•右边的

元素是

的父元素,

的子元素,同时是

的后代。

元素是右边的

的子元素,同时是

的后代。

提示:祖先是父、祖父、曾祖父等等。后代是子、孙、曾孙等等。同胞拥有相同的父。

遍历DOM

jQuery提供了多种遍历DOM的方法。

遍历方法中最大的种类是树遍历(tree-traversal)。

下一章会讲解如何在DOM树中向上、下以及同级移动。

jQuery遍历参考手册

如需了解所有的jQuery遍历方法,请访问我们的jQuery 遍历参考手册。

jQuery遍历-祖先

•jQuery 遍历

•jQuery 后代

祖先是父、祖父或曾祖父等等。

通过jQuery,您能够向上遍历DOM树,以查找元素的祖先。

向上遍历DOM树

这些jQuery方法很有用,它们用于向上遍历DOM树:

•parent()

•parents()

•parentsUntil()

jQuery parent()方法

parent()方法返回被选元素的直接父元素。

该方法只会向上一级对DOM树进行遍历。

下面的例子返回每个元素的的直接父元素:

实例

$(document).ready(function(){

$("span").parent();

});

亲自试一试

jQuery parents()方法

parents()方法返回被选元素的所有祖先元素,它一路向上直到文档的根元素()。

下面的例子返回所有元素的所有祖先:

实例

$(document).ready(function(){

$("span").parents();

});

亲自试一试

您也可以使用可选参数来过滤对祖先元素的搜索。

下面的例子返回所有元素的所有祖先,并且它是

元素:

实例

$(document).ready(function(){

$("span").parents("ul");

});

亲自试一试

jQuery parentsUntil()方法

parentsUntil()方法返回介于两个给定元素之间的所有祖先元素。

下面的例子返回介于与

元素之间的所有祖先元素:

实例

$(document).ready(function(){

$("span").parentsUntil("div");

});

亲自试一试

jQuery遍历参考手册

如需了解所有的jQuery遍历方法,请访问我们的jQuery 遍历参考手册。

jQuery遍历-后代

•jQuery 祖先

•jQuery 同胞

后代是子、孙、曾孙等等。

通过jQuery,您能够向下遍历DOM树,以查找元素的后代。

向下遍历DOM树

下面是两个用于向下遍历DOM树的jQuery方法:

•children()

•find()

jQuery children()方法

children()方法返回被选元素的所有直接子元素。

该方法只会向下一级对DOM树进行遍历。

下面的例子返回每个

元素的所有直接子元素:

实例

$(document).ready(function(){

$("div").children();

});

亲自试一试

您也可以使用可选参数来过滤对子元素的搜索。

下面的例子返回类名为"1"的所有

元素,并且它们是

的直接子元素:

实例

$(document).ready(function(){

$("div").children("p.1");

});

亲自试一试

jQuery find()方法

find()方法返回被选元素的后代元素,一路向下直到最后一个后代。

下面的例子返回属于

后代的所有元素:

实例

$(document).ready(function(){

$("div").find("span");

});

亲自试一试

下面的例子返回

的所有后代:

实例

$(document).ready(function(){

$("div").find("*");

});

亲自试一试

jQuery遍历参考手册

如需了解所有的jQuery遍历方法,请访问我们的jQuery 遍历参考手册。

jQuery遍历-同胞

•jQuery 后代

•jQuery 过滤

同胞拥有相同的父元素。

通过jQuery,您能够在DOM树中遍历元素的同胞元素。

在DOM树中水平遍历

有许多有用的方法让我们在DOM树进行水平遍历:

•siblings()

•next()

•nextAll()

•nextUntil()

•prev()

•prevAll()

•prevUntil()

jQuery siblings()方法

siblings()方法返回被选元素的所有同胞元素。

下面的例子返回

的所有同胞元素:

实例

$(document).ready(function(){

$("h2").siblings();

});

亲自试一试

您也可以使用可选参数来过滤对同胞元素的搜索。

下面的例子返回属于

的同胞元素的所有

元素:

实例

$(document).ready(function(){

$("h2").siblings("p");

});

亲自试一试

jQuery next()方法

next()方法返回被选元素的下一个同胞元素。

该方法只返回一个元素。

下面的例子返回

的下一个同胞元素:

实例

$(document).ready(function(){

$("h2").next();

});

亲自试一试

jQuery nextAll()方法

nextAll()方法返回被选元素的所有跟随的同胞元素。

下面的例子返回

的所有跟随的同胞元素:

实例

$(document).ready(function(){

$("h2").nextAll();

});

亲自试一试

jQuery nextUntil()方法

nextUntil()方法返回介于两个给定参数之间的所有跟随的同胞元素。

下面的例子返回介于

元素之间的所有同胞元素:

实例

$(document).ready(function(){

$("h2").nextUntil("h6");

});

亲自试一试

jQuery prev(), prevAll() &

prevUntil()方法

prev(), prevAll()以及prevUntil()方法的工作方式与上面的方法类似,只不过方向相反而已:它们返回的是前面的同胞元素(在DOM树中沿着同胞元素向后遍历,而不是向前)。

jQuery遍历参考手册

如需了解所有的jQuery遍历方法,请访问我们的jQuery 遍历参考手册。

jQuery遍历-过滤

•jQuery 同胞

•jQuery AJAX 简介

缩写搜索元素的范围

三个最基本的过滤方法是:first(), last()和eq(),它们允许您基于其在一组元素中的位置来选择一个特定的元素。

其他过滤方法,比如filter()和not()允许您选取匹配或不匹配某项指定标准的元素。

jQuery first()方法

first()方法返回被选元素的首个元素。

下面的例子选取首个

元素内部的第一个

元素:

实例

$(document).ready(function(){

$("div p").first();

});

亲自试一试

jQuery last()方法

last()方法返回被选元素的最后一个元素。

下面的例子选择最后一个

元素中的最后一个

元素:

实例

$(document).ready(function(){

$("div p").last();

});

亲自试一试

jQuery eq()方法

eq()方法返回被选元素中带有指定索引号的元素。

索引号从0开始,因此首个元素的索引号是0而不是1。下面的例子选取第二个

元素(索引号1):

实例

$(document).ready(function(){

$("p").eq(1);

});

亲自试一试

jQuery filter()方法

filter()方法允许您规定一个标准。不匹配这个标准的元素会被从集合中删除,匹配的元素会被返回。

下面的例子返回带有类名"intro"的所有

元素:

实例

$(document).ready(function(){

$("p").filter(".intro");

});

亲自试一试

jQuery not()方法

not()方法返回不匹配标准的所有元素。

提示:not()方法与filter()相反。

下面的例子返回不带有类名"intro"的所有

元素:

实例

$(document).ready(function(){

$("p").not(".intro");

});

亲自试一试

jQuery遍历参考手册

如需了解所有的jQuery遍历方法,请访问我们的jQuery 遍历参考手册。

你可能感兴趣的:(JQ)