<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title></title>
<script src="../jquerysource/jquery.js" type="text/javascript"></script>
<!-- <link rel="stylesheet" type="text/css" href="../css/style.css"/>-->
<style>
div,span,p {
width:140px;
height:140px;
margin:5px;
background:#aaa;
border:#000 1px solid;
float:left;
font-size:17px;
font-family:Verdana;
}
div.mini {
width:55px;
height:55px;
background-color: #aaa;
font-size:12px;
}
div.hide {
display:none;
}
</style>
<script>
/*
辅助:
1,自动重置
2,给元素添加动画
*/
$(document).ready(function(){
//手动重置页面元素
$("#reset").click(function(){
$("*").removeAttr("style");
$("div[class=none]").css({"display":"none"});
});
//判断是否自动重置
$("input[type=button]").click(function(){
if($("#isreset").is(":checked")){
$("#reset").click();
}
});
//给id为mover的元素添加动画.
function animateIt() {
$("#mover").slideToggle("slow", animateIt);
}
animateIt();
})
$(function(){
//层次选择器
//1.$("ancestor descendant");选取ancestor(先祖)里的所有descendant(后代)元素;集合;$("div span")选取<div>里的所有<span>元素
//2.$("parent>child");选取parent元素下child(子)元素,而1中选择的是后代元素;集合;$("div>span")选取<div>下名字为<span>的子元素
//3.$("prev + next");选取prev后的next元素,同辈元素 集合; $(".one>div")选取class为one的下一个<div>的同辈元素
//4.$("prev~sliblings");选取prev元素之后所有的sliblings(兄弟姐妹)元素,同辈元素;集合;$("#two~div")选取id为two元素后面的所有<div>同辈元素
//改变body内所有div颜色
$("#btn1").click(function(){
$("body div").css("background","#bfa");
});
//改变body内子div元素的颜色
$("#btn2").click(function(){
$("body>div").css("background","#bfa");
});
//改变class为one的下一个<div>同辈元素背景颜色
$("#btn3").click(function(){
$(".one+div").css("background","#bfa");
});
//改变id为two的元素后面的所有<div>同辈元素背景颜色
$("#btn4").click(function(){
$("#two~div").css("background","#bfa");
});
//5.1和2选择器常用,而3,4选择器有简单的方法替代
//a.$(".one + div");等价于$(".one").next("div");
//改变class为one的下一个<div>同辈元素背景颜色
$("#btn5").click(function(){
$(".one").next("div").css("background","#bfa");
});
//不加参数获取next,不是指定的next
//$("#btn5").click(function(){
// $(".one").next().css("background","#bfa");
//});
//b.$("prev~div");等价于$("prev").nextAll("div");
$("#btn6").click(function(){
$("#two").nextAll("div").css("background","#bfa");
});
//不加参数获取全部
// $("#btn6").click(function(){
// $("#two").nextAll().css("background","#bfa");
// });
//c.sliblings()与$("prev~div")与$("prev").nextAll("div")比较;sliblings()与位置无关而后两者都是prev元素后面的元素
$("#btn7").click(function(){
$("#two").siblings("div").css("background","#bfa");
});
});
</script>
</head>
<body>
<h3>层次选择器.</h3>
<button id="reset">手动重置页面元素</button>
<input type="checkbox" id="isreset" checked="checked"/><label for="isreset">点击下列按钮时先自动重置页面</label><br /><br />
<!-- 控制按钮 -->
<input type="button" value="改变body内所有div颜色" id="btn1"/>
<input type="button" value="改变body内子div元素的颜色" id="btn2"/>
<input type="button" value="改变class为one的下一个<div>同辈元素背景颜色" id="btn3"/>
<input type="button" value="改变id为two的元素后面的所有<div>同辈元素背景颜色" id="btn4"/>
<input type="button" value="等价方法:改变class为one的下一个<div>同辈元素背景颜色" id="btn5"/>
<input type="button" value="等价方法:改变id为two的元素后面的所有<div>同辈元素背景颜色" id="btn6"/>
<input type="button" value="sliblings 改变id为two的元素所有<div>同辈元素背景颜色,与位置无关" id="btn7"/>
<br /><br />
<!-- 测试的元素 -->
<div class="one" id="one" >
id为one,class为one的div
<div class="mini">class为mini</div>
</div>
<div class="one" id="two" title="test" >
id为two,class为one,title为test的div.
<div class="mini" title="other">class为mini,title为other</div>
<div class="mini" title="test">class为mini,title为test</div>
</div>
<div class="one">
<div class="mini">class为mini</div>
<div class="mini">class为mini</div>
<div class="mini">class为mini</div>
<div class="mini"></div>
</div>
<div class="one">
<div class="mini">class为mini</div>
<div class="mini">class为mini</div>
<div class="mini">class为mini</div>
<div class="mini" title="tesst">class为mini,title为tesst</div>
</div>
<span id="next">next下一个.</span>
<div style="display:none;" class="none">
style的display为"none"的div
</div>
<div class="hide">class为"hide"的div</div>
<div>
包含input的type为"hidden"的div<input type="hidden" size="8"/>
</div>
<span id="mover">正在执行动画的span元素.</span>
</body>
</html>
jQuery选择器 层次选择器
最新推荐文章于 2024-01-14 11:54:30 发布