Pengelompokan jQuery - metode contents()

Contoh

Mencari semua node teks dalam paragraf dan membalut mereka dengan tanda tebal.

$("p").contents().filter(function(){ return this.nodeType != 1; }).wrap("<b/>");

Coba sendiri

Definisi dan penggunaan

Metode contents() mendapatkan anak dari setiap elemen yang cocok dalam kumpulan yang dicocokkan, termasuk node teks dan node komentar.

Sintaks

.contents()

Penjelasan detil

Jika diberikan objek jQuery yang mewakili kumpulan elemen DOM, metode .contents() memungkinkan kami untuk mencari anak langsung dari elemen ini di pohon DOM dan membuat objek jQuery baru yang di konstruksi dengan elemen yang cocok. .contents() dan .children() Metode yang sama, tetapi yang pertama termasuk nod teks serta elemen HTML dalam objek jQuery hasilnya.

Metode .contents() juga dapat digunakan untuk mendapatkan dokumen konten iframe, asalkan iframe berada dalam domain yang sama seperti halaman utama.

Pikirkan div berikut ini yang memiliki beberapa nod teks, setiap nod dipisahkan oleh elemen garis putar (br):

<div class="container">
  Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed 
  do eiusmod tempor incididunt ut labore et dolore magna aliqua. 
  <br /><br />
  Ut enim ad minim veniam, quis nostrud exercitation ullamco 
  laboris nisi ut aliquip ex ea commodo consequat.
  <br /> <br />
  Duis aute irure dolor in reprehenderit in voluptate velit 
  esse cillum dolore eu fugiat nulla pariatur.
</div>

Kami dapat menggunakan metode .contents() untuk mengubah blok teks menjadi paragraf yang berbentuk baik:

$('.container').contents().filter(function() {
  return this.nodeType == 3;
)
  .wrap('<p></p>')
.end()
.filter('br')
  .remove();

Coba sendiri

Kod ini akan menerima konten <div class="container"> dahulu, kemudian menyaring nod tekstinya, dan membalut nod teksti ke dalam tag paragraf. Ini dilakukan melalui pengujian properti .nodeType elemen. Properti ini menyimpan kode angka yang menunjukkan jenis nod; nod teksti menggunakan kode 3. Konten akan disaring kembali, kali ini untuk elemen <br />, yang akan dihapus.