1.每个HTML元素根据继承属性都有父parent元素。
举个例子,h3 元素的父元素是 <div class="container-fluid">,<div class="container-fluid">的父元素是 body。
jQuery有一个方法叫parent(),它允许你访问指定元素的父元素。
举个例子:让left-well 元素的父元素parent()的背景色变成蓝色。
$("#left-well").parent().css("background-color", "blue")
试试让#target1元素的父元素的背景色变成红色。
<script>
$(document).ready(function() {
$("#target1").css("color", "red");
$("#target1").prop("disabled", true);
$("#target4").remove();
$("#target2").appendTo("#right-well");
$("#target5").clone().appendTo("#left-well");
$("#target1").parent().css("background-color","red");
});
</script>
image.png
2.每个人都继承了自己的父母的一些属性,譬如:DNA、相貌、血型、体型等等,HTML也不例外。
许多HTML元素都有children(子元素),每个子元素都从父元素那里继承了一些属性。
举个例子,每个HTML元素都是 body 的子元素, 你的 "jQuery Playground" h3 元素是 <div class="container-fluid"> 的子元素。
jQuery有一个方法叫children(),它允许你访问指定元素的子元素。
举个例子:让left-well 元素的子元素children()的文本颜色变成蓝色。
$("#left-well").children().css("color", "blue")
任务:让#right-well元素的所有子元素的文本颜色都变成橙色(orange)。
<script>
$(document).ready(function() {
$("#target1").css("color", "red");
$("#target1").prop("disabled", true);
$("#target4").remove();
$("#target2").appendTo("#right-well");
$("#target5").clone().appendTo("#left-well");
$("#target1").parent().css("background-color", "red");
$("#right-well").children().css("color","orange");
});
</script>
image.png
3.你已经看到了当用jQuery选择器通过id属性来选取元素的时候是多么方便,但是你不能总是写这么整齐的id。
幸运的是,jQuery有一些另外的技巧可以达到同样的效果。
jQuery 用CSS选择器来选取元素,target:nth-child(n) CSS选择器允许你按照索引顺序(从1开始)选择目标元素的所有子元素。
示例:你可以给目标元素的第三个子元素添加bounce class。
$(".target:nth-child(3)").addClass("animated bounce");
任务:确保给目标元素的第二个子元素添加animated和bounce class,你可以通过target class来选获得目标元素。
<script>
$(document).ready(function() {
$("#target1").css("color", "red");
$("#target1").prop("disabled", true);
$("#target4").remove();
$("#target2").appendTo("#right-well");
$("#target5").clone().appendTo("#left-well");
$("#target1").parent().css("background-color", "red");
$("#right-well").children().css("color", "orange");
$(".target:nth-child(2)").addClass("animated bounce");
});
</script>
image.png
4.示例:获取class为target且索引为奇数的所有元素,并给他们添加class。
$(".target:odd").addClass("animated shake");
记住,jQuery里的索引是从0开始的,也就是说::odd 选择第2、4、6个元素,因为target#2(索引为1),target#4(索引为3),target6(索引为5。
任务:获取class为target且索引为偶数的所有元素,也就是target#1(索引为0),target#3(索引为2),target5(索引为4),并给它们添加class animated 和 shake。
<script>
$(document).ready(function() {
$("#target1").css("color", "red");
$("#target1").prop("disabled", true);
$("#target4").remove();
$("#target2").appendTo("#right-well");
$("#target5").clone().appendTo("#left-well");
$("#target1").parent().css("background-color", "red");
$("#right-well").children().css("color", "orange");
$("#left-well").children().css("color", "green");
$(".target:nth-child(2)").addClass("animated bounce");
$(".target:even").addClass("animated shake");
});
</script>
5.我们已经玩了这么久的jQuery游乐场,是时候结束这一节了。
我们让整个body都有淡出效果(fadeOut): $("body").addClass("animated fadeOut");
让我们做一些更为激动人心的事情,给body添加class animated 和hinge 。
<script>
$(document).ready(function() {
$("#target1").css("color", "red");
$("#target1").prop("disabled", true);
$("#target4").remove();
$("#target2").appendTo("#right-well");
$("#target5").clone().appendTo("#left-well");
$("#target1").parent().css("background-color", "red");
$("#right-well").children().css("color", "orange");
$("#left-well").children().css("color", "green");
$(".target:nth-child(2)").addClass("animated bounce");
$(".target:even").addClass("animated shake");
$("body").addClass("animated hinge");
});
</script>
网友评论