Saya memiliki tombol 1 dan beberapa teks di HTML saya seperti berikut:
function get_content(){
// I don't know how to do in here!!!
}
<input type="button" onclick="get_content()" value="Get Content"/>
<p id='txt'>
<span class="A">I am</span>
<span class="B">working in </span>
<span class="C">ABC company.</span>
</p>
Ketika pengguna mengklik tombol, konten di <p id='txt'>
akan menjadi hasil yang diharapkan sebagai berikut:
<p id='txt'>
// All the HTML element within the <p> will be disappear
I am working in ABC company.
</p>
Adakah yang bisa membantu saya bagaimana menulis fungsi JavaScript?
Terima kasih.
javascript
html
John
sumber
sumber
Jawaban:
[25-07-2017] karena ini terus menjadi jawaban yang diterima, meskipun merupakan solusi yang sangat meretas, saya memasukkan kode Gabi ke dalamnya, meninggalkan kode saya sendiri sebagai contoh yang buruk.
sumber
Anda dapat menggunakan ini:
Bergantung pada apa yang Anda butuhkan, Anda dapat menggunakan
element.innerText
atauelement.textContent
. Mereka berbeda dalam banyak hal.innerText
mencoba untuk memperkirakan apa yang akan terjadi jika Anda memilih apa yang Anda lihat (rendered html) dan menyalinnya ke clipboard, sementaratextContent
semacam hanya menghapus tag html dan memberi Anda apa yang tersisa.innerText
juga memiliki kompatibilitas dengan browser IE lama (berasal dari sana).sumber
text
metode berkinerja tinggi karena itu dilakukan banyak dalam satu putaran. jQuery tidak cukup berkinerja, tapi ini sangat cepat. Bekerja di IE8 +, chrome, ff. Sempurna.el.textContent
akanundefined
danel.innerText
mungkin""
. Tapi"" || undefined
apakahundefined
. Menggunakanel.innerText || el.textContent || ''
mungkin lebih baik.el.textContent || el.innerText || ""
.var text = element.textContent;
; kecuali untuk beberapa alasan yang tidak saleh Anda masih harus mendukung IE8 atau lebih rendah .el.innerText
kira-kira sama denganel.textContent.replace(/\W+/g, ' ')
. Mereka tidaklah sama.Jika Anda bisa menggunakan jquery maka itu sederhana
sumber
filter
properti. Saya tahu bahwa JS murni secara teknis lebih efisien dalam hal kecepatan, tetapi itu tidak lagi menjadi masalah di kebanyakan orang normal ..document.querySelector("#txt").innerText;
Orang-orang terlalu sering menyertakan seluruh pustaka jQuery ketika mereka hanya membutuhkan beberapa baris kode. Itu praktik yang buruk.Jawaban ini akan berfungsi untuk mendapatkan teks untuk setiap elemen HTML.
Parameter "node" pertama ini adalah elemen untuk mendapatkan teks. Parameter kedua adalah opsional dan jika true akan menambahkan spasi di antara teks di dalam elemen jika tidak ada spasi di sana.
sumber
Bergantung pada apa yang Anda butuhkan, Anda dapat menggunakan
element.innerText
atauelement.textContent
. Mereka berbeda dalam banyak hal.innerText
mencoba untuk memperkirakan apa yang akan terjadi jika Anda memilih apa yang Anda lihat (rendered html) dan menyalinnya ke clipboard, sementaratextContent
semacam hanya menghapus tag html dan memberi Anda apa yang tersisa.innerText
tidak hanya digunakan untuk IE lagi , dan didukung di semua browser utama . Tentu saja, tidak sepertitextContent
, ia memiliki kesesuaian dengan browser IE lama (sejak mereka memunculkannya).Contoh lengkap (dari jawaban Gabi ):
sumber
Ini bekerja untuk saya yang disusun berdasarkan apa yang dikatakan di sini dengan standar yang lebih modern. Ini berfungsi paling baik untuk beberapa pencarian.
sumber
Itu seharusnya berhasil:
Coba biola ini: http://jsfiddle.net/7gnyc/2/
sumber
Itu harus dilakukan.
sumber
Coba (versi singkat dari ide jawaban Gabi )
Tampilkan cuplikan kode
sumber