jQuery aggiorna il testo dell’elemento html senza influenzare gli elementi figli HTML

Ho un piccolo problema e non so come risolverlo.

Ho una gerarchia HTML come quella qui

  • Title Goes Here

Quello che mi piace fare è modificare il “Titolo va qui”.

Quello che ho provato è:

 $('#el_01 title').text('New Title Goes Here'); 

Ma questo elimina anche:

  

C’è un modo per aggiornare solo il “Titolo va qui” senza influenzare l’elemento span?

È ansible modificare il nodo di testo direttamente accedendo all’elemento DOM e ottenendo il suo primo firstChild .

 $('#el_01 .title')[0].firstChild.data = 'New Title Goes Here'; 

Se ci sono diversi elementi .title , puoi farlo in un ciclo .each() .

 $('#el_01 .title').each(function(i,el) { el.firstChild.data = 'New Title Goes Here'; }); 

Due possibili soluzioni:

O: avvolgi il testo in un intervallo a se stante:

 
Title Goes Here

… e aggiorna quello:

 $('#el_01 .text').text('New Title Goes Here'); 

Oppure: conserva una copia dello span di openClose e reinseriscila dopo aver aggiornato il testo:

 var openClose = $('#el_01 .title .openClose'); $('#el_01 .title').text('New Title Goes Here').append(openClose);