在开始学习使用jQuery之前,我们需要加一些代码到HTML文件中。
<script>
$(document).ready(function(){});
</script>
在没有document ready function
以前,你的代码会在HTML没有渲染完成就执行,这样会产生bug。
现在让我们开始写第一个jQuery语句,所有jQuery方法都是由$
开始的,通常称作为 美元符号
,或者简称为bling
。jQuery通过选择器
来选择一个元素的,然后操作元素做些改变。如为按钮添加回弹动画效果:
$("button").addClass("animated bounce");
我们用 $("button")
来选中按钮,然后用.addClass("animated bounce")
给按钮加CSS class。你只需要用jQuery的.addClass()
方法,就可以给元素加class了。
也可以使用$(".well")
来获取所有class为well
的div
元素。用$("#target3")
来选择id为target3
的button
元素。
现在已经了解了3种选择器:元素选择器:$("button")
、class选择器:$(".btn")
、id选择器:$("#target1")
。
可以通过jQuery的addClass()
方法给元素添加class,也可以通过jQuery removeClass()
方法去掉元素上的class。
jQuery有一个叫做.css()
的方法能让你改变元素的CSS样式。
$("#target1").css("color", "blue");
jQuery有一个.prop()
的方法让你来调整元素的属性(让其不可选)
$("button").prop("disabled", true);
jQuery的.html()
方法可以添加HTML标签和文字到元素,而元素之前的内容都会被方法的内容所替换掉。
我们是通过em
[emphasize]标签来重写和强调标题文本的:
$("h3").html("<em>jQuery Playground</em>");
(注意,如果使用 text() ,标签会被当做文本处理)
jQuery有一个appendTo()
方法可以把选中的元素加到其他元素中。
$("#target4").appendTo("#left-well");
(注意:id 需要使用 # )
jQuery的clone()
方法可以拷贝元素。比如,如果我想把target2
从left-well
拷贝到right-well
,我们可以这样写:
$("#target2").clone().appendTo("#right-well");
(你有没有发现两个jQuery方法合在一起使用了?这就叫方法链function chaining
,使用起来很方便)
jQuery有一个方法叫parent()
,它允许你访问指定元素的父元素。举个例子:让left-well
元素的父元素parent()
的背景色变成蓝色。(子元素就是 children())
$("#left-well").parent().css("background-color", "blue")
jQuery 用CSS选择器来选取元素,target:nth-child(n)
CSS选择器允许你按照索引顺序(从1开始)选择目标元素的所有子元素。示例:你可以给目标元素的第三个子元素添加bounce class。
$(".target:nth-child(3)").addClass("animated bounce");
示例:获取class为target
且索引为奇数的所有元素,并给他们添加class。
$(".target:odd").addClass("animated shake");
记住,jQuery里的索引是从0开始的,也就是说::odd
选择第2、4、6个元素,因为target#2(索引为1),target#4(索引为3),target6(索引为5。