Neue Textzeilen innerhalb eines div

Lesezeit: 2 Minuten

Benutzer-Avatar
dominant

Ich habe ein kleines Problem im Zusammenhang mit dem Platzieren eines per Ajax-Aufruf geladenen Textes.

Ich nehme den Inhalt aus einem Textbereich und speichere ihn in meiner Datenbank, und wenn ich den Text in einem div anzeigen möchte, werden die neuen Zeilen nicht berücksichtigt, sodass der gesamte Text fortlaufend ist.

Der folgende Code zeigt ein kleines Beispiel:

$(function() {
    $('.buttonA').click(function() {
        $('.message').html($('textarea[name="mensaje"]').val());
    });
});
.message {
    width:300px;
    height:200px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.2.3/jquery.min.js"></script>
<textarea name="mensaje" class="new_message_textarea" placeholder="enter message..."></textarea>
<button class="buttonA">Enter</button>
<div class="message"></div>

Wenn Sie Text mit einigen neuen Zeilen eingeben, wird der Text nach dem Klicken auf die Schaltfläche im div angezeigt und es werden keine neuen Zeilen angezeigt.

Wie kann ich das lösen?

Benutzer-Avatar
Chris.Zou

Ich denke, ein besserer Weg, dies zu erreichen, ist das Hinzufügen

white-space: pre

oder

white-space: pre-wrap

Stil zu Ihrem div.

Siehe: HTML – Newline-Zeichen in DIV-Inhalt bearbeitbar?

  • Das hat super funktioniert danke! (Ich habe es versucht white-space: pre)

    – Tomás Romero

    19. Dezember 2014 um 22:58 Uhr

  • für den Unterschied zwischen ihnen siehe developer.mozilla.org/en-US/docs/Web/CSS/white-space

    – simonalexander2005

    4. Oktober 2018 um 14:38 Uhr

Benutzer-Avatar
Kong Lanze

Fügen Sie dies dem CSS hinzu:

white-space: pre-line

  • Dies sollte die richtige Antwort sein, andere ändern die Zeile nicht, wenn der Text am Ende des Containers ankommt. Vielen Dank

    – Hugo

    25. Mai 2018 um 6:48 Uhr

  • Dadurch werden alle aufeinanderfolgenden Leerzeichen entfernt. Es ist nicht immer erwünscht. developer.mozilla.org/en-US/docs/Web/CSS/white-space#Values

    – emil. c

    4. Oktober 2018 um 12:56 Uhr


Benutzer-Avatar
Joe Cortopassi

Newline-Zeichen haben keine Auswirkung auf das HTML-Rendering. Ändern Sie dies in Ihrem js:

$('.message').html($('textarea[name="mensaje"]').val());

… dazu:

$('.message').html($('textarea[name="mensaje"]').val().replace(/\n/g, "<br />"));

…und es ersetzt Ihre Zeilenumbrüche durch einen korrekten HTML-Zeilenumbruch

  • Ja, ich weiß, aber das System lässt mich das jetzt nicht tun, es dauert mehrere Minuten. ich werde es tun….natürlich!!

    – dominant

    10. Juli 2012 um 23:21 Uhr

1292440cookie-checkNeue Textzeilen innerhalb eines div

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy