Rumah >hujung hadapan web >tutorial js >Bagaimanakah Saya Boleh Mengeluarkan Nod Teks daripada Elemen Tanpa Mengubah Suai DOM?

Bagaimanakah Saya Boleh Mengeluarkan Nod Teks daripada Elemen Tanpa Mengubah Suai DOM?

DDD
DDDasal
2024-12-03 21:43:09244semak imbas

How Can I Extract Text Nodes from an Element Without Modifying the DOM?

Mengambil Nod Teks tanpa Mengubah Struktur DOM

Dalam senario tertentu, adalah perlu untuk mengekstrak kandungan teks unsur tanpa mengubah strukturnya . Contohnya, dalam kod HTML berikut:

<div>

Jika output yang diingini adalah untuk mendapatkan teks "I am text nod" sambil mengekalkan teg "edit", penyelesaian silang penyemak imbas diperlukan.

Menggunakan JavaScript's Element.contents() dan Node.TEXT_NODE

Untuk mencapai ini, kami boleh memanfaatkan sifat Element.contents() dan Node.TEXT_NODE JavaScript. Berikut ialah coretan kod yang ringkas namun berkesan:

var text = $(".title").contents().filter(function() {
  return this.nodeType == Node.TEXT_NODE;
}).text();

Memecahkan Penyelesaian:

  • $(".title").contents(): This fungsi mengembalikan koleksi semua nod anak langsung dalam elemen yang dipilih dengan kelas "tajuk".
  • .filter(): Fungsi penapis gelung melalui setiap nod anak dan hanya mengembalikan yang jenis Node.TEXT_NODE.
  • .text(): Kaedah ini mengekstrak kandungan teks hasil yang ditapis.

Oleh itu, menggunakan teknik ini, kita boleh berjaya mendapatkan bahagian "Saya nod teks" tanpa mengubah struktur HTML. Penyelesaian ini serasi dengan semua penyemak imbas web utama, memastikan kefungsian merentas pelayar.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengeluarkan Nod Teks daripada Elemen Tanpa Mengubah Suai DOM?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn