例子,jquery 层次选择器 实例代码。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>层次选择器_www.jb200.com</title>
<script src="../js/jquery-1.5.1.js" type="text/javascript"></script>
<script type="text/javascript">
$(function () {
//------1.在给定的祖先元素下匹配所有后代元素(包含了子元素,以及子元素的元素,一直往下延伸)
//var $divs = $("#main div");
//for (var i = 0; i < $divs.length; i++) {
// alert($divs.get(i).id);
//}
//------2.在给定的父元素下匹配所有子元素,只包括直接子元素(不包含子元素的子元素)
//var $divs = $("#main > div");
//for (var i = 0; i < $divs.length; i++) {
// alert($divs.get(i).id);
//}
//-----3.prev + next $("lable + input ") : 匹配所有紧接在prev后的next元素
//注意:只能去到第一个,并且是紧挨着的,如果不是紧挨着div1后面的则取不到
//.....<1>.例子1
//var $divBrother = $("#div1 + div"); //用#div1 ID选择器 ,只取到div2
//alert($divBrother.get(0).id);
//.....<2>.例子2
//var $divBrothers = $("div + div");
//用div 标签选择器,相邻的div都能取到 divSun1(和divSun相邻),div2(和div1相邻)
//for (var i = 0; i < $divBrothers.length; i++) {
// alert($divBrothers.get(i).id);
//}
//-----4.prev ~ siblins
//$("form ~ input") : 匹配prev元素之后的所有siblings元素
//注意:在匹配之后的元素,不包含该元素在内,并且siblings匹配的是和prev同辈的元素,其后辈元素不被匹配。
var $divBrothers = $("#main ~ div");
for (var i = 0; i < $divBrothers.length; i++) { //得到main1,main2,main3
alert($divBrothers.get(i).id);
}
}
);
</script>
</head>
<body>
<div id="main">
<div id="div1" class="myDiv">我是div1
<div id="divSun">我是孙子div
<div id="divSunSun">我是孙子的孙子div</div>
</div>
<div id="divSun1">我是孙子div</div>
</div>
<div id="div2" class="myDiv">我是div2</div>
</div>
<div id="main1"></div>
<div id="main2"></div>
<input type="button" value="button" />
<div id="main3"></div>
</body>
</html>