代碼如下:
<!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>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script src="js/jquery-1.3.2.js"></script>
<script type="text/javascript"><!--
$(function(){
$("#aNth1").click(function(){
$("#ul1 li:nth-child(even)").each(function(){
$(this).css("background","#773300");
})
})
$("#aNth2").click(function(){
$("#ul1 li:nth-child(2n+1)").each(function(){
$(this).css("background","#ff3434");
})
})
$("#aFirst").click(function(){
$("#ul1 li:first-child").each(function(){
$(this).css("background","#223344");
})
})
$("#aLast").click(function(){
$("#ul1 li:last-child").each(function(){
$(this).css("background","#99ff88");
})
})
$("#aOnly").click(function(){
$("ul li:only-child").each(function(){
$(this).css("background","#99ff88");
})
})
})
// --></script>
<title>無標題文檔</title>
</head>
<body>
<a href="#" onclick="javascript:location.reload();">重置</a>
<ul id="ul1">
<li>li1</li>
<li>li2</li>
<li>li3</li>
<li>li4</li>
<li>li5</li>
<li>li6</li>
</ul>
<ul>
<li>li7</li>
</ul>
<a href="#" id="aNth1">設置ul1的偶索引子元素的背景顏色</a>|
<a href="#" id="aNth2">設置ul1的奇索引子元素的背景顏色</a>|
<a href="#" id="aFirst">設置ul1的頭子元素的背景顏色</a>|
<a href="#" id="aLast">設置ul1的尾子元素的背景顏色</a>|
<a href="#" id="aOnly">設置所有ul中唯一子元素的背景顏色</a>
</body>
</html>
1.$("ParentSelector ChildTagName:nth-child(...)")注-以下簡寫為:nth-child
描述:獲取ParentSelector選擇的元素集合的子元素集合進行索引篩選,如例子中點擊aNth1後,對ID為ul1的元素的li子元素進行偶索引(even)選擇($("#ul1 li:nth-child(even)")),even這關鍵字應該不陌生吧,在第三章中有講到,若還不清楚的話可先去第三章瞄下再繼續^^,當然這裡也可以用odd,不過在這裡跟第三章有點不同,就是第三章中,索引是從0開始,不過這裡的索引要從1開始哦,本人感覺這點設計的不是很好- -!,沒有規范,不知道是不是設計的時候疏忽了。此方法還有一個蠻靈活的用法,就像例子中aNth2點擊事件裡,用$("#ul1 li:nth-child(2n+1)")的方法完成了類似$("#ul1 li:nth-child(odd)")的功能,至於2n+1應該不用我來講解了吧,初中數學就經常用到了。實在不懂的話跟貼吧- -!。此方法也可以跟上具體的索引比如“2”,不過要記住哦,這裡的索引是從1開始滴!!
返回值:Array(Element);
2.:first-child
描述:獲取選擇的元素集合的頭元素。這裡寫的簡單點,應該看的懂吧,結合例子實在看不懂的話貼吧- -!。
返回值:Array(Element);
3.:last-child
描述:獲取選擇的元素集合的尾元素。
返回值:Array(Element);
4.:only-child
描述:獲取無兄弟節點的元素,如例子中,第二個ul元素只有一個li子元素,所以$("ul li:only-child")方法只獲取了li7。
返回值:Array(Element);