Jawaban:
Fungsi html () dapat mengambil string HTML, dan secara efektif akan memodifikasi .innerHTML
properti.
$('#regTitle').html('Hello World');
Namun, fungsi text () akan mengubah nilai (text) dari elemen yang ditentukan, tetapi tetap mempertahankan html
strukturnya.
$('#regTitle').text('Hello world');
text()
berbeda sebagai: Unlike the .html() method, .text() can be used in both XML and HTML documents.
. Selanjutnya, menurut stackoverflow.com/questions/1910794/... , jQuery.html() treats the string as HTML, jQuery.text() treats the content as text
.
Jika Anda memiliki objek jquery yang ingin Anda render alih-alih konten yang ada: Kemudian atur ulang konten dan tambahkan yang baru.
var itemtoReplaceContentOf = $('#regTitle');
itemtoReplaceContentOf.html('');
newcontent.appendTo(itemtoReplaceContentOf);
Atau:
$('#regTitle').empty().append(newcontent);
itemtoReplaceContentOf.empty();
newcontent
objek jQuery? Ini tidak jelas.
htmlString
atau Element
atau Text
atau Array
atau jQuery
per api.jquery.com/append
Menjawab:
$("#regTitle").html('Hello World');
Penjelasan:
$
setara dengan jQuery
. Keduanya mewakili objek yang sama di perpustakaan jQuery. Bagian "#regTitle"
dalam tanda kurung disebut pemilih yang digunakan oleh perpustakaan jQuery untuk mengidentifikasi elemen (s) mana dari html DOM (Model Objek Dokumen) yang ingin Anda terapkan kode. The #
sebelum regTitle
memberitahu jQuery yang regTitle
merupakan id dari elemen dalam DOM.
Dari sana, notasi titik digunakan untuk memanggil fungsi html yang menggantikan html dalam dengan parameter apa pun yang Anda tempatkan di antara tanda kurung, yang dalam hal ini adalah 'Hello World'
.
Sudah ada jawaban yang memberikan cara mengubah elemen HTML Dalam.
Tapi saya sarankan, Anda harus menggunakan beberapa animasi seperti Fade Out / Fade In untuk mengubah HTML yang memberikan efek yang baik dari perubahan HTML, bukan langsung mengubah HTML batin.
$('#regTitle').fadeOut(500, function() {
$(this).html('Hello World!').fadeIn(500);
});
Jika Anda memiliki banyak fungsi yang memerlukan ini, maka Anda dapat memanggil fungsi umum yang mengubah Html dalam.
function changeInnerHtml(elementPath, newText){
$(elementPath).fadeOut(500, function() {
$(this).html(newText).fadeIn(500);
});
}
Anda dapat menggunakan fungsi html atau teks di jquery untuk mencapainya
$("#regTitle").html("hello world");
ATAU
$("#regTitle").text("hello world");
jQuery's .html()
dapat digunakan untuk mengatur dan mendapatkan konten dari elemen yang tidak kosong yang cocok ( innerHTML
).
var contents = $(element).html();
$(element).html("insert content into element");
Contoh
$( document ).ready(function() {
$('.msg').html('hello world');
});
<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
</head>
<body>
<div class="msg"></div>
</body>
</html>
$("#regTitle")[0].innerHTML = 'Hello World';
Hanya untuk menambah wawasan kinerja.
Beberapa tahun yang lalu saya punya proyek, di mana kami memiliki masalah mencoba mengatur HTML / Teks besar ke berbagai elemen HTML.
Tampaknya, "menciptakan kembali" elemen dan menyuntikkannya ke DOM jauh lebih cepat daripada metode yang disarankan untuk memperbarui konten DOM.
Jadi sesuatu seperti:
var text = "very big content";
$("#regTitle").remove();
$("<div id='regTitle'>" + text + "</div>").appendTo("body");
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
Seharusnya membuat Anda mendapatkan kinerja yang lebih baik. Baru-baru ini saya belum mencoba mengukurnya (peramban seharusnya pintar hari ini), tetapi jika Anda mencari kinerja mungkin membantu.
Kelemahannya adalah Anda akan memiliki lebih banyak pekerjaan untuk menjaga DOM dan referensi dalam skrip Anda menunjuk ke objek yang tepat.