Hinzufügen von Text zu einem vorhandenen Textelement in JavaScript über DOM

Lesezeit: 3 Minuten

Benutzeravatar von Benny Thadikaran
Benny Thadikaran

Ich versuche herauszufinden, wie man Text zu a hinzufügt p Etikett bzw h1 -Tag, das bereits einen Textknoten hat.

Zum Beispiel:

var t = document.getElementById("p").textContent;
var y = document.createTextNode("This just got added");

t.appendChild(y);
<p id="p">This is some text</p>

Dieser Code gibt einen Fehler aus appendChild ist keine Funktion. Die meisten Hilfeseiten erstellen zunächst a p Tag und fügen Sie dann den Text an.

Wie füge ich Text richtig zu einem bestehenden Textelement hinzu?

PS: Ich habe verwendet innerHTML vorher tun, aber zu Lernzwecken möchte ich es hier vermeiden.

Der Grund dass appendChild ist keine Funktion, weil Sie sie auf der ausführen textContent von dir p Element.

Sie müssen stattdessen nur den Absatz selbst auswählen und dann Ihren neuen Textknoten daran anhängen:

var paragraph = document.getElementById("p");
var text = document.createTextNode("This just got added");

paragraph.appendChild(text);
<p id="p">This is some text</p>

Wenn Sie möchten, können Sie jedoch stattdessen einfach den Text selbst ändern (anstatt einen neuen Knoten hinzuzufügen):

var paragraph = document.getElementById("p");

paragraph.textContent += "This just got added";
<p id="p">This is some text</p>

  • Soweit ich sehen kann, können keine HTML-Tags eingefügt werden, oder sie werden als Zeichenfolgen analysiert. Ich vermute also, der beste Weg wäre, br-Tags oder so zu erstellen und sie anzuhängen?

    – Benny Thadikaran

    20. Januar 2017 um 13:26 Uhr


  • Wofür willst du einen Zeilenumbruch, @BennyThadikaran? Wenn sie zwei Textteile trennen sollen, sollten Sie zwei verwenden p Stichworte. Zeilenumbrüche sollten sparsam verwendet und nicht zum Formatieren von Text verwendet werden.

    – James Monger

    20. Januar 2017 um 13:36 Uhr

  • Können Sie mir sagen, wie ich den Inhalt davor hinzufügen kann?

    – tkamath99

    5. Februar 2020 um 8:00 Uhr

  • @tkamath99 paragraph.textContent = "This just got added before " + paragraph.textContent;

    – James Monger

    14. Februar 2020 um 9:03 Uhr

Anstatt ein Element anzuhängen, können Sie es einfach tun.

 document.getElementById("p").textContent += " this has just been added";

document.getElementById("p").textContent += " this has just been added";
<p id ="p">This is some text</p>

Die Methode .appendChild() wird verwendet, um a hinzuzufügen neues Element KEINEN Text zu einem bestehenden Element hinzufügen.

Beispiel:

var p = document.createElement("p");
document.body.appendChild(p);

Bezug: Mozilla-Entwicklernetzwerk

Der Standardansatz dafür ist die Verwendung .innerHTML(). Wenn Sie jedoch eine alternative Lösung wünschen, können Sie versuchen, diese zu verwenden element.textContent.

Beispiel:

document.getElementById("foo").textContent = "This is som text";

Bezug: Mozilla-Entwicklernetzwerk

Dies wird jedoch nur in IE 9+ unterstützt

  • Ein Knoten, der mit erstellt wurde createTextNode ist ein neues Element, also appendChild ist gültig zu verwenden

    – Drenai

    5. Dezember 2018 um 6:44 Uhr

Was ist damit.

var p = document.getElementById("p")
p.innerText = p.innerText+" And this is addon."
<p id ="p">This is some text</p>

Löschen .textContent aus var t = document.getElementById("p").textContent;

var t = document.getElementById("p");
var y = document.createTextNode("This just got added");

t.appendChild(y);
<p id ="p">This is some text</p>

Benutzeravatar von Kaushar Alam
Kaushar Alam

   <!DOCTYPE html>
   <html>
   <head>
   <script   src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
  <script>
  $(document).ready(function(){
   $("#btn1").click(function(){
    $("p").append(" <b>Appended text</b>.");
   });

  });
 </script>
  </head>
 <body>

 <p>This is a paragraph.</p>
  <p>This is another paragraph.</p>



 <button id="btn1">Append text</button>


</body>
</html>

Benutzeravatar von ibrohim Zuhriddinov
Ibrohim Zuhriddinov

var t = document.getElementById("p").textContent;
var y = document.createTextNode("This just got added");

t.appendChild(y);
<p id="p">This is some text</p>

  • Bitte überprüfen Sie, ob Ihre Lösung funktioniert, bevor Sie sie als Antwort einreichen

    – Vthechamp

    28. Dezember 2020 um 20:26 Uhr

1405420cookie-checkHinzufügen von Text zu einem vorhandenen Textelement in JavaScript über DOM

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

Privacy policy