2013-08-06 9 views
13

Ho il codice seguente:Come posso visualizzare una nuova riga in .text() in jQuery?

var stringDisplay = "Hello\nWorld"; 
$("#meaning").text(stringDisplay); 

sta visualizzando \n invece di un ritorno a capo.

L'uscita viene visualizzata come Hello\nWorld.

Ho utilizzato il tag <br> anche al posto di \n, ma non funziona ancora.

+0

var stringDisplay = "Ciao
Mondo"; . $ ("# Significato") html (stringDisplay); – andrewb

risposta

24

Si dovrà utilizzare sia .html() e sostituire il ritorno a capo:

var escaped = $('<div>').text(stringDisplay).text(); 
$('#meaning').html(escaped.replace(/\n/g, '<br />')); 

Un'alternativa sarebbe quella per lo stile l'elemento:

white-space: pre-wrap; 
+0

Questa risposta non è completa. È necessario impostare prima il testo, per evitare correttamente qualsiasi HTML contenuto nel testo. Solo dopo puoi sostituire la tua linea (supponendo che la nuova linea sia ancora lì). – Brad

+0

@Brad: Grazie, risolto. – Blender

+0

$ ('# significato'). Html (escaped.replace (/ \ n/g, '
')); lavorato .. grazie mille – User4678

7

ne dite di questo

$('meaning').html('line1<br>line2'); 
+0

Sarebbe doloroso se line1 o line2 è l'input dell'utente –

Problemi correlati