Saya memiliki div seperti:
<div id="one">
<div class="first"></div>
"Hi I am text"
<div class="second"></div>
<div class="third"></div>
</div>
Saya mencoba mengubah hanya teks dari "Hai, saya teks" menjadi "Hai, saya mengganti" menggunakan jquery. Ini mungkin mudah tetapi saya tidak dapat melakukannya.
Menggunakan $('#one').text('')
hanya mengosongkan seluruh #One
div.
javascript
jquery
manojadams
sumber
sumber
Jawaban:
Teks tidak boleh berdiri sendiri. Masukkan ke dalam
span
elemen.Ubah menjadi ini:
sumber
Temukan node teks (
nodeType==3
) dan gantitextContent
:Contoh langsung: http://jsfiddle.net/VgFwS/
sumber
Anda perlu mengatur teks ke sesuatu selain string kosong. Selain itu, fungsi .html () harus melakukannya sambil mempertahankan struktur HTML dari div.
sumber
Jika Anda benar-benar tahu teks yang akan Anda ganti, Anda dapat menggunakan
http://jsfiddle.net/5rWwh/
Atau
$('#one').contents(':not(*)')
memilih node anak non-elemen dalam hal ini node teks dan node kedua adalah yang ingin kita ganti.http://jsfiddle.net/5rWwh/1/
sumber
jQuery 1.8.3
$('#one').contents(':not(*)')
akan memilih apa pun.Pendekatan lain adalah mempertahankan elemen itu, mengubah teks, lalu menambahkan elemen itu kembali
sumber
Untuk berjaga-jaga jika Anda tidak dapat mengubah HTML. Sangat primitif tapi pendek & ampuh. (Ini akan mengosongkan div induk sehingga div anak akan dihapus)
sumber