Groups | Search | Server Info | Login | Register


Groups > de.comp.lang.javascript > #5350

Re: <br> wird aus erstellter Tabelle entfernt

From Thomas 'PointedEars' Lahn <PointedEars@web.de>
Newsgroups de.comp.lang.javascript
Subject Re: <br> wird aus erstellter Tabelle entfernt
Date 2022-10-31 01:07 +0100
Organization PointedEars Software (PES)
Message-ID <2147770.irdbgypaU6@PointedEars.de> (permalink)
References <tjed7c$146dk$1@gwaiyur.mb-net.net>

Show all headers | View raw


Jan Novak wrote:

> es ist mir nicht möglich, einen Text, bestehend aus "text<br>weiteres"
> zu einer erstellten Tabelle hinzu zu fügen. Die <br> werden niht
> ausgewertet. Mein Code (Ausschnitt):
> 
> out= "html text mit <br> inside";

Dort sollte mindestens

  var out = "html text mit <br> inside";

stehen.

>      var tableBody = document.createElement('TBODY');
>      var tr = document.createElement('TR');
>      tableBody.appendChild(tr);
>      var td = document.createElement('td');
>      // var p = document.createElement('p');
>      // p.innerHTML=out;
>      td.innerHTML=out;
>      //td.appendChild(p);
>      tr.appendChild(td);
> 
> Ich habs mit p's, div's oder span's, innerText, innerHTML oder auch
> createTextNode innerhalb des TD's versucht, welche ich dem td element
> hinzufüge. Brachte alles keinen Erfolg.

Aus dem obigen Quelltext geht hervor: Du hast zwar das td-Element dem TR-
Element hinzugefügt, aber das TR-Element nicht dem TBODY-Element, und das 
TBODY-Element nicht einem table-Element.  (Ansonsten ist das bis dahin fast¹ 
die richtige Vorgehensweise, denn sie vermeidet mehrfaches Rendering.)

Einfacher formuliert: Du hast anscheinend vergessen, Deinen Unterbaum in den 
Dokumentbaum „einzuhängen“.

Daher befindet sich Dein td-Element nicht im Dokumentbaum, sondern nur ein 
td-Elementobjekt im Heap.

Wenn ich nach Ausführen Deines (originalen) Codes in der Chromium-Konsole 
ein table-Elementobjekt im Dokument mit “table” referenziere und

  table.appendChild(tableBody);

aufrufe, dann funktioniert das bei mir (in einem beliebigen HTML5-Dokument – 
für den Test habe ich einen Wikipedia-Artikel benutzt) einwandfrei, d. h. es 
erscheint der Text mit dem Zeilenumbruch im Dokument (auch wenn das Markup 
so nicht empfohlen wird).

Falls das nicht die Ursache ist, dann liegt es möglicherweise daran, dass
Du syntaktisch fehlerhaftes Markup, oder Quelltext, der an dieser Stelle zu 
syntaktisch fehlerhaftem Markup führen würde, einzufügen versuchst.

In XHTML sind “TBODY”- und “TR”-Elemente ungültig; es muss dort “tbody” und 
“tr” heissen.  Ausserdem ist “<br>” ungültig (weil nicht geschlossen); es 
muss dort “<br/>” heissen.

In HTML, insbesondere HTML5, ist es nicht nötig (aber erlaubt), bei der 
Erzeugung des Elementobjekts den Elementtyp mit Grossbuchstaben zu 
schreiben.  Konsistenz in der Schreibung ist empfehlenswert.

Die innerHTML-Eigenschaft wird IIRC von einigen Layout-Engines im XHTML-
Modus unterstützt, von anderen nicht.  Daher ist auch mit dieser Eigenschaft 
ein XHTML-Problem möglich.

Ausserdem ist bekannt, dass die Verwendung der innerHTML-Eigenschaft in 
Zusammenhang mit Tabellen zu Problemen führen kann.

Ohne Angabe der Laufzeitumgebung (z. B.: welcher Browser, welche Browser-
Version?) lässt sich nichts Genaueres dazu sagen.

__________
¹ Logisch wäre es in diesem Fall, das tr-Elementobjekt zuletzt zu
  erstellen.  Der von Dir gewählte Weg ist nur dann sinnvoller, wenn
  Du auch testest, ob das Objekt erstellt werden konnte, bevor Du es
  benutzt.  Diese Tests fe len aber bei Dir.
-- 
PointedEars
<https://github.com/PointedEars> | <http://PointedEars.de/wsvn/>
Twitter: @PointedEars2
Please do not cc me. /Bitte keine Kopien per E-Mail.

Back to de.comp.lang.javascript | Previous | NextPrevious in thread | Find similar


Thread

<br> wird aus erstellter Tabelle entfernt Jan Novak <repcom@gmail.com> - 2022-10-27 18:56 +0200
  Re: <br> wird aus erstellter Tabelle entfernt Jan Novak <repcom@gmail.com> - 2022-10-28 07:34 +0200
    Re: <br> wird aus erstellter Tabelle entfernt "Peter J. Holzer" <hjp-usenet3@hjp.at> - 2022-10-28 12:06 +0200
      Re: <br> wird aus erstellter Tabelle entfernt Jan Novak <repcom@gmail.com> - 2022-10-28 13:55 +0200
        Re: <br> wird aus erstellter Tabelle entfernt "Peter J. Holzer" <hjp-usenet3@hjp.at> - 2022-10-28 21:13 +0200
  Re: <br> wird aus erstellter Tabelle entfernt Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2022-10-31 01:07 +0100

csiph-web