jQuery是最流行的Javascript库之一。
1.准备
在开始学习使用jQuery之前,我们需要加一些代码到HTML文件中。首先在页面顶端增加一行script元素,然后写上结束符。浏览器会运行script里所有的Javascript,包括jQuery。
在你的script里,添加这个方法: $(document).ready(function() { 到你的script,接下来用 }); 结束这个方法。
2.方法
接下来我们来学习如何写方法,方法里面的代码会被浏览器加载。
在没有document ready function以前,你的代码会在HTML没有渲染完成就执行,这样会产生bug。
现在我们已经知道document ready function的用法了。让我们开始写第一个jQuery语句,所有jQuery方法都是由$开始的,通常称作为美元符 号,或者简称为bling。
jQuery通过选择器来选择一个元素的,然后操作元素做些改变。举个例子,要让所有的按钮做弹回效果,只要把这段代码写在document ready function里面就可以了——$("button").addClass("animated bounce");
我们可以使用$(".well")来获取所有class为well的div元素。仔细想想为什么需要在well前面添加. 然后使用jQuery的.addClass()方法添加2个class:animated、shake。
我们还可以根据id属性来获取元素。首先用$("#target3")来选择id为target3的button元素。注意,就像CSS一样,在id的名字前加上#。然后使用jQuery的.addClass()方法来添加animated和fadeOut class.
你可以通过jQuery的addClass()方法给元素添加class,也可以通过jQueryremoveClass()方法去掉元素上的class。像下面这样:
$("#target2").removeClass("btn-default");
3.我们可以通过jQuery来改变HTML元素的CSS样式。
jQuery有一个叫做.css()的方法能让你改变元素的CSS样式。我们是这样来把颜色改变成蓝色的:
$("#target1").css("color", "blue");
这跟通常的CSS语法有点不同,这里CSS的属性和值是在引号内的,并且用逗号分开。
4.你还可以用jQuery改变除了CSS以外的属性。
比如,你可以让按钮变不可选。当你把按钮设置成不可选以后,这会让按钮变灰并且不能点击。
jQuery有一个.prop()的方法让你来调整元素的属性.我们是这样来让按钮不可选的:
$("button").prop("disabled", true);
5.jQuery不仅可以改变元素开始标记和结束标记间的文本,甚至可以改变元素标记本身。
jQuery的.html()方法可以添加HTML标签和文字到元素,而元素之前的内容都会被方法的内容所替换掉。
我们是通过em[emphasize]标签来重写和强调标题文本的:
$("h3").html("jQuery Playground");
jQuery 还有一个类似的方法叫.text(),它只能改变文本但不能修改标记。换句话说,这个方法只会把传进来的任何东西(包括标记)当成文本来显示。
6.我们可以用jQuery来移除页面上的HTML元素。
jQuery 有一个.remove()的方法可以移除HTML元素。
7.现在让我们尝试把元素从一个div里移到另外一个div里。
jQuery有一个appendTo()方法可以把选中的元素加到其他元素中。
比如,你想让target4从我们的从right-well移到left-well,我们可以这样使用:
$("#target4").appendTo("#left-well");
8.除了移动元素,你还可以拷贝元素。简单理解:移动元素就是剪切,拷贝元素就是复制。jQuery的clone()方法可以拷贝元素。
比如,如果我想把target2从left-well拷贝到right-well,我们可以这样写:
$("#target2").clone().appendTo("#right-well");
你有没有发现两个jQuery方法合在一起使用了?这就叫方法链function chaining,使用起来很方便。
9.每个HTML元素根据继承属性都有父parent元素。
举个例子,h3元素的父元素是
jQuery有一个方法叫parent(),它允许你访问指定元素的父元素。举个例子:让left-well元素的父元素parent()的背景色变成蓝色。
$("#left-well").parent().css("background-color", "blue")
10.许多HTML元素都有children(子元素),每个子元素都从父元素那里继承了一些属性。
举个例子,每个HTML元素都是body的子元素, 你的 "jQuery Playground"h3元素是
jQuery有一个方法叫children(),它允许你访问指定元素的子元素。
举个例子:让left-well元素的子元素children()的文本颜色变成蓝色。
$("#left-well").children().css("color", "blue")
11.jQuery可以用CSS选择器来选取元素
target:nth-child(n)CSS选择器允许你按照索引顺序(从1开始)选择目标元素的所有子元素。 示例:你可以给目标元素的第三个子元素添加bounce class。
$(".target:nth-child(3)").addClass("animated bounce");
示例:获取class为target且索引为奇数(even)的所有元素,并给他们添加class。
$(".target:odd").addClass("animated shake");
记住,jQuery里的索引是从0开始的,也就是说::odd选择第2、4、6个元素,因为target#2(索引为1),target#4(索引为3),target6(索引为5)。