Javascript mendapatkan elemen anak pertama berdasarkan kelas

indeks. Indeks setiap anak untuk dicocokkan, dimulai dengan 1, string even atau odd, atau persamaan ( misalnya. :nth-child(even), :nth-child(4n) )

Karena implementasi jQuery dari :nth- pemilih secara ketat berasal dari spesifikasi CSS, nilai n adalah "1-diindeks", artinya penghitungan dimulai pada 1. metode jQuery seperti .first() atau

<!doctype html>

<html lang="en">

<head>

<meta charset="utf-8">

<title>nth-child demo</title>

<style>

button {

display: block;

font-size: 12px;

width: 100px;

}

div {

float: left;

margin: 10px;

font-size: 10px;

border: 1px solid black;

}

span {

color: blue;

font-size: 18px;

}

#inner {

color: red;

}

td {

width: 50px;

text-align: center;

}

</style>

<script src="https://code.jquery.com/jquery-3.6.3.js"></script>

</head>

<body>

<div>

<button>:nth-child(even)</button>

<button>:nth-child(odd)</button>

<button>:nth-child(3n)</button>

<button>:nth-child(2)</button>

</div>

<div>

<button>:nth-child(3n+1)</button>

<button>:nth-child(3n+2)</button>

<button data-method="even">.even()</button>

<button data-method="odd">.odd()</button>

</div>

<div>

<table>

<tr><td>John</td></tr>

<tr><td>Karl</td></tr>

<tr><td>Brandon</td></tr>

<tr><td>Benjamin</td></tr>

</table>

</div>

<div>

<table>

<tr><td>Sam</td></tr>

</table>

</div>

<div>

<table>

<tr><td>Glen</td></tr>

<tr><td>Tane</td></tr>

<tr><td>Ralph</td></tr>

<tr><td>David</td></tr>

<tr><td>Mike</td></tr>

<tr><td>Dan</td></tr>

</table>

</div>

<span>tr<span id="inner"></span></span>

<script>

$( "button" ).click(function() {

var str = $( this ).text();

var method = $( this ).attr( "data-method" );

$( "tr" ).css( "background", "white" );

if ( method ) {

$( "tr" )[ method ]().css( "background", "#ff0000" );

} else {

$( "tr" + str ).css( "background", "#ff0000" );

}

$( "#inner" ).text( str );

});

</script>

</body>

</html>

0 jQuery mengikuti penghitungan "0-diindeks" JavaScript. Diberikan satu

<!doctype html>

<html lang="en">

<head>

<meta charset="utf-8">

<title>nth-child demo</title>

<style>

button {

display: block;

font-size: 12px;

width: 100px;

}

div {

float: left;

margin: 10px;

font-size: 10px;

border: 1px solid black;

}

span {

color: blue;

font-size: 18px;

}

#inner {

color: red;

}

td {

width: 50px;

text-align: center;

}

</style>

<script src="https://code.jquery.com/jquery-3.6.3.js"></script>

</head>

<body>

<div>

<button>:nth-child(even)</button>

<button>:nth-child(odd)</button>

<button>:nth-child(3n)</button>

<button>:nth-child(2)</button>

</div>

<div>

<button>:nth-child(3n+1)</button>

<button>:nth-child(3n+2)</button>

<button data-method="even">.even()</button>

<button data-method="odd">.odd()</button>

</div>

<div>

<table>

<tr><td>John</td></tr>

<tr><td>Karl</td></tr>

<tr><td>Brandon</td></tr>

<tr><td>Benjamin</td></tr>

</table>

</div>

<div>

<table>

<tr><td>Sam</td></tr>

</table>

</div>

<div>

<table>

<tr><td>Glen</td></tr>

<tr><td>Tane</td></tr>

<tr><td>Ralph</td></tr>

<tr><td>David</td></tr>

<tr><td>Mike</td></tr>

<tr><td>Dan</td></tr>

</table>

</div>

<span>tr<span id="inner"></span></span>

<script>

$( "button" ).click(function() {

var str = $( this ).text();

var method = $( this ).attr( "data-method" );

$( "tr" ).css( "background", "white" );

if ( method ) {

$( "tr" )[ method ]().css( "background", "#ff0000" );

} else {

$( "tr" + str ).css( "background", "#ff0000" );

}

$( "#inner" ).text( str );

});

</script>

</body>

</html>

1 berisi dua

<!doctype html>

<html lang="en">

<head>

<meta charset="utf-8">

<title>nth-child demo</title>

<style>

button {

display: block;

font-size: 12px;

width: 100px;

}

div {

float: left;

margin: 10px;

font-size: 10px;

border: 1px solid black;

}

span {

color: blue;

font-size: 18px;

}

#inner {

color: red;

}

td {

width: 50px;

text-align: center;

}

</style>

<script src="https://code.jquery.com/jquery-3.6.3.js"></script>

</head>

<body>

<div>

<button>:nth-child(even)</button>

<button>:nth-child(odd)</button>

<button>:nth-child(3n)</button>

<button>:nth-child(2)</button>

</div>

<div>

<button>:nth-child(3n+1)</button>

<button>:nth-child(3n+2)</button>

<button data-method="even">.even()</button>

<button data-method="odd">.odd()</button>

</div>

<div>

<table>

<tr><td>John</td></tr>

<tr><td>Karl</td></tr>

<tr><td>Brandon</td></tr>

<tr><td>Benjamin</td></tr>

</table>

</div>

<div>

<table>

<tr><td>Sam</td></tr>

</table>

</div>

<div>

<table>

<tr><td>Glen</td></tr>

<tr><td>Tane</td></tr>

<tr><td>Ralph</td></tr>

<tr><td>David</td></tr>

<tr><td>Mike</td></tr>

<tr><td>Dan</td></tr>

</table>

</div>

<span>tr<span id="inner"></span></span>

<script>

$( "button" ).click(function() {

var str = $( this ).text();

var method = $( this ).attr( "data-method" );

$( "tr" ).css( "background", "white" );

if ( method ) {

$( "tr" )[ method ]().css( "background", "#ff0000" );

} else {

$( "tr" + str ).css( "background", "#ff0000" );

}

$( "#inner" ).text( str );

});

</script>

</body>

</html>

2,

<!doctype html>

<html lang="en">

<head>

<meta charset="utf-8">

<title>nth-child demo</title>

<style>

button {

display: block;

font-size: 12px;

width: 100px;

}

div {

float: left;

margin: 10px;

font-size: 10px;

border: 1px solid black;

}

span {

color: blue;

font-size: 18px;

}

#inner {

color: red;

}

td {

width: 50px;

text-align: center;

}

</style>

<script src="https://code.jquery.com/jquery-3.6.3.js"></script>

</head>

<body>

<div>

<button>:nth-child(even)</button>

<button>:nth-child(odd)</button>

<button>:nth-child(3n)</button>

<button>:nth-child(2)</button>

</div>

<div>

<button>:nth-child(3n+1)</button>

<button>:nth-child(3n+2)</button>

<button data-method="even">.even()</button>

<button data-method="odd">.odd()</button>

</div>

<div>

<table>

<tr><td>John</td></tr>

<tr><td>Karl</td></tr>

<tr><td>Brandon</td></tr>

<tr><td>Benjamin</td></tr>

</table>

</div>

<div>

<table>

<tr><td>Sam</td></tr>

</table>

</div>

<div>

<table>

<tr><td>Glen</td></tr>

<tr><td>Tane</td></tr>

<tr><td>Ralph</td></tr>

<tr><td>David</td></tr>

<tr><td>Mike</td></tr>

<tr><td>Dan</td></tr>

</table>

</div>

<span>tr<span id="inner"></span></span>

<script>

$( "button" ).click(function() {

var str = $( this ).text();

var method = $( this ).attr( "data-method" );

$( "tr" ).css( "background", "white" );

if ( method ) {

$( "tr" )[ method ]().css( "background", "#ff0000" );

} else {

$( "tr" + str ).css( "background", "#ff0000" );

}

$( "#inner" ).text( str );

});

</script>

</body>

</html>

3 memilih

<!doctype html>

<html lang="en">

<head>

<meta charset="utf-8">

<title>nth-child demo</title>

<style>

button {

display: block;

font-size: 12px;

width: 100px;

}

div {

float: left;

margin: 10px;

font-size: 10px;

border: 1px solid black;

}

span {

color: blue;

font-size: 18px;

}

#inner {

color: red;

}

td {

width: 50px;

text-align: center;

}

</style>

<script src="https://code.jquery.com/jquery-3.6.3.js"></script>

</head>

<body>

<div>

<button>:nth-child(even)</button>

<button>:nth-child(odd)</button>

<button>:nth-child(3n)</button>

<button>:nth-child(2)</button>

</div>

<div>

<button>:nth-child(3n+1)</button>

<button>:nth-child(3n+2)</button>

<button data-method="even">.even()</button>

<button data-method="odd">.odd()</button>

</div>

<div>

<table>

<tr><td>John</td></tr>

<tr><td>Karl</td></tr>

<tr><td>Brandon</td></tr>

<tr><td>Benjamin</td></tr>

</table>

</div>

<div>

<table>

<tr><td>Sam</td></tr>

</table>

</div>

<div>

<table>

<tr><td>Glen</td></tr>

<tr><td>Tane</td></tr>

<tr><td>Ralph</td></tr>

<tr><td>David</td></tr>

<tr><td>Mike</td></tr>

<tr><td>Dan</td></tr>

</table>

</div>

<span>tr<span id="inner"></span></span>

<script>

$( "button" ).click(function() {

var str = $( this ).text();

var method = $( this ).attr( "data-method" );

$( "tr" ).css( "background", "white" );

if ( method ) {

$( "tr" )[ method ]().css( "background", "#ff0000" );

} else {

$( "tr" + str ).css( "background", "#ff0000" );

}

$( "#inner" ).text( str );

});

</script>

</body>

</html>

2 pertama sementara

<!doctype html>

<html lang="en">

<head>

<meta charset="utf-8">

<title>nth-child demo</title>

<style>

button {

display: block;

font-size: 12px;

width: 100px;

}

div {

float: left;

margin: 10px;

font-size: 10px;

border: 1px solid black;

}

span {

color: blue;

font-size: 18px;

}

#inner {

color: red;

}

td {

width: 50px;

text-align: center;

}

</style>

<script src="https://code.jquery.com/jquery-3.6.3.js"></script>

</head>

<body>

<div>

<button>:nth-child(even)</button>

<button>:nth-child(odd)</button>

<button>:nth-child(3n)</button>

<button>:nth-child(2)</button>

</div>

<div>

<button>:nth-child(3n+1)</button>

<button>:nth-child(3n+2)</button>

<button data-method="even">.even()</button>

<button data-method="odd">.odd()</button>

</div>

<div>

<table>

<tr><td>John</td></tr>

<tr><td>Karl</td></tr>

<tr><td>Brandon</td></tr>

<tr><td>Benjamin</td></tr>

</table>

</div>

<div>

<table>

<tr><td>Sam</td></tr>

</table>

</div>

<div>

<table>

<tr><td>Glen</td></tr>

<tr><td>Tane</td></tr>

<tr><td>Ralph</td></tr>

<tr><td>David</td></tr>

<tr><td>Mike</td></tr>

<tr><td>Dan</td></tr>

</table>

</div>

<span>tr<span id="inner"></span></span>

<script>

$( "button" ).click(function() {

var str = $( this ).text();

var method = $( this ).attr( "data-method" );

$( "tr" ).css( "background", "white" );

if ( method ) {

$( "tr" )[ method ]().css( "background", "#ff0000" );

} else {

$( "tr" + str ).css( "background", "#ff0000" );

}

$( "#inner" ).text( str );

});

</script>

</body>

</html>

5 memilih yang kedua

Kelas semu

<!doctype html>

<html lang="en">

<head>

<meta charset="utf-8">

<title>nth-child demo</title>

<style>

button {

display: block;

font-size: 12px;

width: 100px;

}

div {

float: left;

margin: 10px;

font-size: 10px;

border: 1px solid black;

}

span {

color: blue;

font-size: 18px;

}

#inner {

color: red;

}

td {

width: 50px;

text-align: center;

}

</style>

<script src="https://code.jquery.com/jquery-3.6.3.js"></script>

</head>

<body>

<div>

<button>:nth-child(even)</button>

<button>:nth-child(odd)</button>

<button>:nth-child(3n)</button>

<button>:nth-child(2)</button>

</div>

<div>

<button>:nth-child(3n+1)</button>

<button>:nth-child(3n+2)</button>

<button data-method="even">.even()</button>

<button data-method="odd">.odd()</button>

</div>

<div>

<table>

<tr><td>John</td></tr>

<tr><td>Karl</td></tr>

<tr><td>Brandon</td></tr>

<tr><td>Benjamin</td></tr>

</table>

</div>

<div>

<table>

<tr><td>Sam</td></tr>

</table>

</div>

<div>

<table>

<tr><td>Glen</td></tr>

<tr><td>Tane</td></tr>

<tr><td>Ralph</td></tr>

<tr><td>David</td></tr>

<tr><td>Mike</td></tr>

<tr><td>Dan</td></tr>

</table>

</div>

<span>tr<span id="inner"></span></span>

<script>

$( "button" ).click(function() {

var str = $( this ).text();

var method = $( this ).attr( "data-method" );

$( "tr" ).css( "background", "white" );

if ( method ) {

$( "tr" )[ method ]().css( "background", "#ff0000" );

} else {

$( "tr" + str ).css( "background", "#ff0000" );

}

$( "#inner" ).text( str );

});

</script>

</body>

</html>

6 mudah dibingungkan dengan panggilan

<!doctype html>

<html lang="en">

<head>

<meta charset="utf-8">

<title>nth-child demo</title>

<style>

button {

display: block;

font-size: 12px;

width: 100px;

}

div {

float: left;

margin: 10px;

font-size: 10px;

border: 1px solid black;

}

span {

color: blue;

font-size: 18px;

}

#inner {

color: red;

}

td {

width: 50px;

text-align: center;

}

</style>

<script src="https://code.jquery.com/jquery-3.6.3.js"></script>

</head>

<body>

<div>

<button>:nth-child(even)</button>

<button>:nth-child(odd)</button>

<button>:nth-child(3n)</button>

<button>:nth-child(2)</button>

</div>

<div>

<button>:nth-child(3n+1)</button>

<button>:nth-child(3n+2)</button>

<button data-method="even">.even()</button>

<button data-method="odd">.odd()</button>

</div>

<div>

<table>

<tr><td>John</td></tr>

<tr><td>Karl</td></tr>

<tr><td>Brandon</td></tr>

<tr><td>Benjamin</td></tr>

</table>

</div>

<div>

<table>

<tr><td>Sam</td></tr>

</table>

</div>

<div>

<table>

<tr><td>Glen</td></tr>

<tr><td>Tane</td></tr>

<tr><td>Ralph</td></tr>

<tr><td>David</td></tr>

<tr><td>Mike</td></tr>

<tr><td>Dan</td></tr>

</table>

</div>

<span>tr<span id="inner"></span></span>

<script>

$( "button" ).click(function() {

var str = $( this ).text();

var method = $( this ).attr( "data-method" );

$( "tr" ).css( "background", "white" );

if ( method ) {

$( "tr" )[ method ]().css( "background", "#ff0000" );

} else {

$( "tr" + str ).css( "background", "#ff0000" );

}

$( "#inner" ).text( str );

});

</script>

</body>

</html>

7, meskipun keduanya dapat menghasilkan elemen pencocokan yang sangat berbeda. Dengan

<!doctype html>

<html lang="en">

<head>

<meta charset="utf-8">

<title>nth-child demo</title>

<style>

button {

display: block;

font-size: 12px;

width: 100px;

}

div {

float: left;

margin: 10px;

font-size: 10px;

border: 1px solid black;

}

span {

color: blue;

font-size: 18px;

}

#inner {

color: red;

}

td {

width: 50px;

text-align: center;

}

</style>

<script src="https://code.jquery.com/jquery-3.6.3.js"></script>

</head>

<body>

<div>

<button>:nth-child(even)</button>

<button>:nth-child(odd)</button>

<button>:nth-child(3n)</button>

<button>:nth-child(2)</button>

</div>

<div>

<button>:nth-child(3n+1)</button>

<button>:nth-child(3n+2)</button>

<button data-method="even">.even()</button>

<button data-method="odd">.odd()</button>

</div>

<div>

<table>

<tr><td>John</td></tr>

<tr><td>Karl</td></tr>

<tr><td>Brandon</td></tr>

<tr><td>Benjamin</td></tr>

</table>

</div>

<div>

<table>

<tr><td>Sam</td></tr>

</table>

</div>

<div>

<table>

<tr><td>Glen</td></tr>

<tr><td>Tane</td></tr>

<tr><td>Ralph</td></tr>

<tr><td>David</td></tr>

<tr><td>Mike</td></tr>

<tr><td>Dan</td></tr>

</table>

</div>

<span>tr<span id="inner"></span></span>

<script>

$( "button" ).click(function() {

var str = $( this ).text();

var method = $( this ).attr( "data-method" );

$( "tr" ).css( "background", "white" );

if ( method ) {

$( "tr" )[ method ]().css( "background", "#ff0000" );

} else {

$( "tr" + str ).css( "background", "#ff0000" );

}

$( "#inner" ).text( str );

});

</script>

</body>

</html>

6, semua anak dihitung, terlepas dari apa mereka, dan elemen yang ditentukan dipilih hanya jika cocok dengan pemilih yang melekat pada kelas semu. Dengan panggilan

<!doctype html>

<html lang="en">

<head>

<meta charset="utf-8">

<title>nth-child demo</title>

<style>

button {

display: block;

font-size: 12px;

width: 100px;

}

div {

float: left;

margin: 10px;

font-size: 10px;

border: 1px solid black;

}

span {

color: blue;

font-size: 18px;

}

#inner {

color: red;

}

td {

width: 50px;

text-align: center;

}

</style>

<script src="https://code.jquery.com/jquery-3.6.3.js"></script>

</head>

<body>

<div>

<button>:nth-child(even)</button>

<button>:nth-child(odd)</button>

<button>:nth-child(3n)</button>

<button>:nth-child(2)</button>

</div>

<div>

<button>:nth-child(3n+1)</button>

<button>:nth-child(3n+2)</button>

<button data-method="even">.even()</button>

<button data-method="odd">.odd()</button>

</div>

<div>

<table>

<tr><td>John</td></tr>

<tr><td>Karl</td></tr>

<tr><td>Brandon</td></tr>

<tr><td>Benjamin</td></tr>

</table>

</div>

<div>

<table>

<tr><td>Sam</td></tr>

</table>

</div>

<div>

<table>

<tr><td>Glen</td></tr>

<tr><td>Tane</td></tr>

<tr><td>Ralph</td></tr>

<tr><td>David</td></tr>

<tr><td>Mike</td></tr>

<tr><td>Dan</td></tr>

</table>

</div>

<span>tr<span id="inner"></span></span>

<script>

$( "button" ).click(function() {

var str = $( this ).text();

var method = $( this ).attr( "data-method" );

$( "tr" ).css( "background", "white" );

if ( method ) {

$( "tr" )[ method ]().css( "background", "#ff0000" );

} else {

$( "tr" + str ).css( "background", "#ff0000" );

}

$( "#inner" ).text( str );

});

</script>

</body>

</html>

_7 hanya pemilih yang melekat pada kelas semu yang dihitung, tidak terbatas pada turunan dari elemen lain mana pun, dan yang ke (n+1) (n berbasis 0) dipilih

Diskusi lebih lanjut tentang penggunaan yang tidak biasa ini dapat ditemukan di

Contoh

Temukan li kedua di setiap ul yang cocok dan catat

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

<!doctype html>

<html lang="en">

<head>

<meta charset="utf-8">

<title>nth-child demo</title>

<style>

div {

float: left;

}

span {

color: blue;

}

</style>

<script src="https://code.jquery.com/jquery-3.6.3.js"></script>

</head>

<body>

<div>

<ul>

<li>John</li>

<li>Karl</li>

<li>Brandon</li>

</ul>

</div>

<div>

<ul>

<li>Sam</li>

</ul>

</div>

<div>

<ul>

<li>Glen</li>

<li>Tane</li>

<li>Ralph</li>

<li>David</li>

</ul>

</div>

<script>

$( "ul li:nth-child(2)" ).append( "<span> - 2nd!</span>" );

</script>

</body>

</html>

Demo

Ini adalah taman bermain untuk melihat bagaimana pemilih bekerja dengan string yang berbeda. Perhatikan bahwa ini berbeda dari even dan odd yang tidak memperhatikan induk dan hanya memfilter daftar elemen satu sama lain. Itu. nth-child, bagaimanapun, menghitung indeks anak ke induknya. Bagaimanapun, lebih mudah untuk melihat daripada menjelaskannya

Bagaimana cara mendapatkan elemen anak pertama dalam JavaScript?

Untuk mendapatkan elemen anak pertama dari elemen tertentu, Anda menggunakan properti firstChild dari elemen tersebut. .
biarkan firstChild = parentElement. anak pertama;.
biarkan konten = dokumen. getElementById('menu'); . anak pertama. nodeName; . log(anak pertama);.
#teks

Bagaimana cara mendapatkan elemen anak dengan className di JavaScript?

Untuk mendapatkan elemen turunan berdasarkan kelas. .
Gunakan dokumen. metode querySelector() untuk mendapatkan elemen induk
Panggil metode querySelector pada elemen induk dengan meneruskannya sebagai nama kelas sebagai parameter
Misalnya orang tua. querySelector('. pertama') mendapatkan anak dengan kelas pertama

Bagaimana Anda memilih anak pertama dari suatu elemen di CSS?

Itu. pemilih anak pertama digunakan untuk memilih pemilih yang ditentukan, hanya jika itu adalah anak pertama dari induknya.

Bagaimana Anda mendapatkan elemen pertama di getElementsByClassName?

Jika Anda hanya menginginkan elemen pertama dalam DOM dengan kelas tersebut, Anda dapat memilih elemen pertama dari HTMLCollection seperti array yang dikembalikan. var elemen = dokumen. getElementsByClassName('className');