jQuery :nth-child()

admin發表於2018-02-01

此選擇器匹配所有父元素下的第N個子元素或奇偶元素。

因為jQuery實現:nth-child(index)是嚴格來自CSS規範,所以index值是從1開始計數。

jQuery1.14版本新增。

語法結構:

[JavaScript] 純文字檢視 複製程式碼
jQuery(":nth-child(index/even/odd/equation)")

程式碼例項:

[HTML] 純文字檢視 複製程式碼執行程式碼
<!DOCTYPE html>
<html>
<head>
<meta charset=" utf-8">
<meta name="author" content="http://www.softwhy.com/" />
<title>螞蟻部落</title>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script type="text/javascript">
$(document).ready(function(){
  $("#bt").click(function () {
    $("li:nth-child(2)").css("color","blue")
  })
}) 
</script>
</head>
<body>
<div>
  <ul>
    <li>ASP教程</li>
    <li>ASP.NET教程</li>
    <li>PHP教程</li>
  </ul>
  <ul>
    <li>HTML教程</li>
    <li>DIV+CSS教程</li>
    <li>jQUERY教程</li>
    <li>jAVAScript教程</li>
  </ul>
</div>
<input type="button" value="檢視效果" id="bt" />
</body>
</html>

以上程式碼可以將ul下第二個li元素字型顏色設定為藍色。

[HTML] 純文字檢視 複製程式碼
<!DOCTYPE html>
<html>
<head>
<meta charset=" utf-8">
<meta name="author" content="http://www.softwhy.com/" />
<title>螞蟻部落</title>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script type="text/javascript">
$(document).ready(function(){
  $("#bt").click(function () {
    $("li:nth-child(even)").css("color", "blue")
  })
}) 
</script>
</head>
<body>
<div>
  <ul>
    <li>ASP教程</li>
    <li>ASP.NET教程</li>
    <li>PHP教程</li>
  </ul>
  <ul>
    <li>HTML教程</li>
    <li>DIV+CSS教程</li>
    <li>jQUERY教程</li>
    <li>JavaScript教程</li>
  </ul>
</div>
<input type="button" value="檢視效果" id="bt" />
</body>
</html>

將排序為偶數的li元素中的字型顏色設定為藍色。

[HTML] 純文字檢視 複製程式碼
<!DOCTYPE html>
<html>
<head>
<meta charset=" utf-8">
<meta name="author" content="http://www.softwhy.com/" />
<title>螞蟻部落</title>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script type="text/javascript">
$(document).ready(function(){
  $("#bt").click(function () {
    $("li:nth-child(3n+1)").css("color","blue")
  })
}) 
</script>
</head>
<body>
<div>
  <ul>
    <li>ASP教程</li>
    <li>ASP.NET教程</li>
    <li>PHP教程</li>
  </ul>
  <ul>
    <li>HTML教程</li>
    <li>DIV+CSS教程</li>
    <li>jQUERY教程</li>
    <li >jAVAScript教程</li>
  </ul>
</div>
<input type="button" value="檢視效果" id="bt" />
</body>
</html>

除了直接給出索引值或者even/odd固定值,還可以是表示式,如上面程式碼的3n+1,這裡的n是從0開始的自然數。

[HTML] 純文字檢視 複製程式碼
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="author" content="http://www.softwhy.com/" />
<title>螞蟻部落</title>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script type="text/javascript">
$(document).ready(function(){
  $("#bt").click(function(){
    $("li:nth-child(2)").css("color", "blue");
  });
});
</script>
</head>
<body>
<ul>
  <li>螞蟻部落一</li>
  <li>螞蟻部落二</li>
  <li>螞蟻部落三</li>
  <li>螞蟻部落四</li>
</ul>
<ul>
  <li>螞蟻部落一</li>
  <li>螞蟻部落二</li>
  <li>螞蟻部落三</li>
  <li>螞蟻部落四</li>
</ul>
<input type="button" value="檢視效果" id="bt" />
</body>
</html>

此選擇器能夠匹配父元素下指定索引的所有子元素,可以匹配多個元素,而:eq()只能匹配一個。

相關文章