子元素過濾選擇器的過濾規則相對於其它的選擇器稍微有點複雜,但只要將元素父元素和子元素區分清楚,那麼使用起來也非常簡單,另外還有注意它與普通過濾選擇器的區別。
代碼中沒有提到 :nth-child(3n)選取每個父元素下的索引值是3的倍數的元素,n從1開始。
:nth-child(3n+1)選取每個父元素下的索引值是3n+1的元素,n從1開始。
簡單代碼示例如下:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>子元素過濾選擇器</title>
<script src="../libs/jquery.js"></script>
<style type="text/css">
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: #aaaaaa;
font-size: 12px;
}
div.hide{
display: none;
}
</style>
</head>
<body>
<div class="one" id="one">
id is one,class also is one
<div class="mini">class name is mini</div>
</div>
<div class="one" id="two" title="test">
id is two, class is one, title is test
<div class="mini" title="other">class is mini,title is other</div>
<div class="mini" title="test">class is mini, title is test</div>
</div>
<div class="one">
<div class="mini">class is mini</div>
<div class="mini">class is mini</div>
<div class="mini">class is mini</div>
<div class="mini"></div>
</div>
<div class="one">
<div class="mini">class is mini</div>
<div class="mini">class is mini</div>
<div class="mini">class is mini</div>
<div class="mini" title="test">class is mini, title is test</div>
</div>
<div style="display: none" class="none">
style的display爲“none”的div
</div>
<div class="hide"> class is hide</div>
<div>
包含input的type爲“hidden”的div
<input type="hidden" size="8">
</div>
<span id="mover">正在執行動畫的sapn元素</span>
<script>
$("div.one :nth-child(2)")//改變每個class爲one的div父元素下的第二個子元素的背景色
.css("background","#0066CC");
/*$("div.one :first-child")//改變每個class爲one的div父元素下的第一個子元素的背景色
.css("background","#009966");*/
/*$("div.one :last-child")//改變每個class爲one的div父元素下的最後一個子元素的背景色
.css("background","#00CC00");*/
/*$("div.one :only-child")//如果class爲one的div元素下只有一個子元素,那麼則改變這個子元素的背景色
.css("background","#00FFCC");*/
</script>
</body>
</html>