Risposte:
La funzione html () può accettare stringhe di HTML e modificherà efficacemente la .innerHTML
proprietà.
$('#regTitle').html('Hello World');
Tuttavia, la funzione text () cambierà il valore (text) dell'elemento specificato, ma manterrà la html
struttura.
$('#regTitle').text('Hello world');
text()
è diverso come: Unlike the .html() method, .text() can be used in both XML and HTML documents.
. Inoltre, secondo stackoverflow.com/questions/1910794/... , jQuery.html() treats the string as HTML, jQuery.text() treats the content as text
.
Se invece hai un oggetto jquery che vuoi rendere al posto del contenuto esistente: Quindi resetta il contenuto e aggiungi il nuovo.
var itemtoReplaceContentOf = $('#regTitle');
itemtoReplaceContentOf.html('');
newcontent.appendTo(itemtoReplaceContentOf);
O:
$('#regTitle').empty().append(newcontent);
itemtoReplaceContentOf.empty();
newcontent
un oggetto jQuery? Questo non è chiaro
htmlString
o Element
oppure Text
oppure Array
oppurejQuery
secondo api.jquery.com/append
Risposta:
$("#regTitle").html('Hello World');
Spiegazione:
$
è equivalente a jQuery
. Entrambi rappresentano lo stesso oggetto nella libreria jQuery. L' "#regTitle"
interno della parentesi è chiamato il selettore che viene utilizzato dalla libreria jQuery per identificare gli elementi del DOM html (Document Object Model) a cui si desidera applicare il codice. Il#
prima regTitle
dice a jQuery che regTitle
è l'id di un elemento all'interno del DOM.
Da lì, la notazione punto viene utilizzata per chiamare la funzione html che sostituisce l'html interno con qualsiasi parametro inserito tra la parentesi, che in questo caso è 'Hello World'
.
Ci sono già risposte che danno come cambiare HTML interno dell'elemento.
Ma suggerirei, dovresti usare alcune animazioni come Fade Out / Fade In per cambiare HTML che dà un buon effetto al cambio di HTML piuttosto che cambiare all'istante HTML interno.
$('#regTitle').fadeOut(500, function() {
$(this).html('Hello World!').fadeIn(500);
});
Se hai molte funzioni che ne hanno bisogno, puoi chiamare una funzione comune che cambia HTML interno.
function changeInnerHtml(elementPath, newText){
$(elementPath).fadeOut(500, function() {
$(this).html(newText).fadeIn(500);
});
}
puoi usare la funzione html o text in jquery per ottenerlo
$("#regTitle").html("hello world");
O
$("#regTitle").text("hello world");
jQuery .html()
può essere utilizzato per impostare e ottenere il contenuto di elementi non vuoti corrispondenti ( innerHTML
).
var contents = $(element).html();
$(element).html("insert content into element");
Esempio
$( 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';
Solo per aggiungere alcuni approfondimenti sulle prestazioni.
Alcuni anni fa ho avuto un progetto, in cui si sono verificati problemi nel tentativo di impostare un grande HTML / testo su vari elementi HTML.
Sembrava che "ricreare" l'elemento e iniettarlo nel DOM fosse molto più veloce di qualsiasi metodo suggerito per aggiornare il contenuto del DOM.
Quindi qualcosa del tipo:
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>
Dovresti ottenere prestazioni migliori. Di recente non ho provato a misurarlo (i browser dovrebbero essere intelligenti in questi giorni), ma se stai cercando prestazioni potrebbe essere d'aiuto.
Il rovescio della medaglia è che avrai più lavoro per mantenere il DOM e i riferimenti nei tuoi script che puntano all'oggetto giusto.