document.createTextNode und html tags
markus
- javascript
hallo
folgendes problem - ich erzeuge mit dem dom eine tabelle
var td = document.createElement('td');
var tc = document.createElement('td inhalt');
td.appendChild(tc);
die daten waren bis jetzt immer einfache strings - funzte alles bestens bis aus den strings tags wurden z. b.
var tc = document.createElement('<a href="#">link</a>');
createElement() kovertiert den uebergebenen string - im jeweiligen td steht dann kein link sondern:
<a href="#">link</a>
... is schlecht
ausgegangen bin ich von
http://www.mozilla.org/docs/dom/domref/dom_doc_ref45.html
wird wohl aber nur ein beispiel gewesen sein
wuerde mich ueber jede idee freuen
danke
markus
Hallo markus.
var tc = document.createElement('<a href="#">link</a>');
createElement() kovertiert den uebergebenen string - im jeweiligen td steht dann kein link sondern:
<a href="#">link</a>
... is schlecht
Natürlich. So geht dies ja auch nicht.
Was du createElement als Parameter übergibst wird exakt als Element erschaffen.
Und wenn du--wie hier--am Ende ein <<a href="#">link</a>></<a href="#">link</a>>
haben möchtest, dann wird dies auch so ausgeführt.
Erschaffe das a-Element wie gehabt und setze die benötigten Attribute.
BTW: Dein Thema handelt von createTextNode, was ich hier aber nicht erkennen kann...
Einen schönen Donnerstag noch.
Gruß, Ashura
Hallo markus.
var tc = document.createElement('<a href="#">link</a>');
createElement() kovertiert den uebergebenen string - im jeweiligen td steht dann kein link sondern:
<a href="#">link</a>
... is schlechtNatürlich. So geht dies ja auch nicht.
Was du createElement als Parameter übergibst wird exakt als Element erschaffen.
Und wenn du--wie hier--am Ende ein<<a href="#">link</a>></<a href="#">link</a>>
haben möchtest, dann wird dies auch so ausgeführt.Erschaffe das a-Element wie gehabt und setze die benötigten Attribute.
BTW: Dein Thema handelt von createTextNode, was ich hier aber nicht erkennen kann...
Einen schönen Donnerstag noch.
Gruß, Ashura
hallo ashura
vielleicht hab ich mich komisch ausgedrueckt sorry - das ergebnis sollte sein:
<td><a href="#">link</a></td>
erzeugt wird aber:
<td><a href="#">link</a></a>
das ist auch ok so - mich interessiern gerade die alternativen die den uebergebenen string nicht codiren bzw den string anders interpretieren
danke
markus
ps: so was in der art wie td.innerHTML = '<tag>' aber ...
Hallo markus.
vielleicht hab ich mich komisch ausgedrueckt sorry
Du tust es weiterhin.
- das ergebnis sollte sein:
<td><a href="#">link</a></td>
Gut. Also ein Link in einer Tabellenzelle.
erzeugt wird aber:
<td><a href="#">link</a></a>
das ist auch ok so
Also soll es doch kein Link in einer Tabellenzelle werden?
- mich interessiern gerade die alternativen die den uebergebenen string nicht codiren bzw den string anders interpretieren
Wie „anders“
ps: so was in der art wie td.innerHTML = '<tag>' aber ...
Aber was?
Einen schönen Donnerstag noch.
Gruß, Ashura
Hallo markus.
vielleicht hab ich mich komisch ausgedrueckt sorry
Du tust es weiterhin.
dann noch mal tschuldigung
- das ergebnis sollte sein:
<td><a href="#">link</a></td>Gut. Also ein Link in einer Tabellenzelle.
yupp
erzeugt wird aber:
<td><a href="#">link</a></a>
das ist auch ok soAlso soll es doch kein Link in einer Tabellenzelle werden?
es soll ein link in einer tabellenzelle werden
- mich interessiern gerade die alternativen die den uebergebenen string nicht codiren bzw den string anders interpretieren
Wie „anders“
ps: so was in der art wie td.innerHTML = '<tag>' aber ...
Aber was?
ja! was? :)
markus
Hallo markus.
Also soll es doch kein Link in einer Tabellenzelle werden?
es soll ein link in einer tabellenzelle werden
Dann führe die von mir bereits erwähnten Schritte durch, um ein als Link funktionstüchtiges a-Element zu erzeugen.
ps: so was in der art wie td.innerHTML = '<tag>' aber ...
Aber was?
ja! was? :)
Bitte definiere „...“.
Einen schönen Donnerstag noch.
Gruß, Ashura
Hallo markus.
Also soll es doch kein Link in einer Tabellenzelle werden?
es soll ein link in einer tabellenzelle werden
Dann führe die von mir bereits erwähnten Schritte durch, um ein als Link funktionstüchtiges a-Element zu erzeugen.
hm ... also wie schon gesagt es funktioniert (http://forum.de.selfhtml.org/?t=114471&m=729830) und mir ist immer noch nicht ganz klar was der setAttribute-link mit dem problem zu schaffen hatte - ich kann den a-tag nich erzeugen - dieser ist ne vorgabe - egal es laeuft :) und danke
markus
Hallo markus.
hm ... also wie schon gesagt es funktioniert (https://forum.selfhtml.org/?t=114471&m=729830)
Ja, dies verdankst du aber auch nur der Tatsache, dass sich die Geckos und Opera zur Unterstützung von innerHTML haben breit schlagen lassen.
Behalte die DOM-Methoden im Hinterkopf, sie sind zukunftstauglicher und weitaus mächtiger.
und mir ist immer noch nicht ganz klar was der setAttribute-link mit dem problem zu schaffen hatte
Damit könntest du das href-Attribut des von dir zuvor erzeugten a-Elementes setzen.
- ich kann den a-tag nich erzeugen - dieser ist ne vorgabe
Diese Wortgruppe verstehe ich nicht.
Ist der exakte String „<a href="#">link</a>“ vorgegeben?
Wenn ja inwiefern und warum?
Einen schönen Donnerstag noch.
Gruß, Ashura
Hallo markus.
hm ... also wie schon gesagt es funktioniert (https://forum.selfhtml.org/?t=114471&m=729830)
Ja, dies verdankst du aber auch nur der Tatsache, dass sich die Geckos und Opera zur Unterstützung von innerHTML haben breit schlagen lassen.
Behalte die DOM-Methoden im Hinterkopf, sie sind zukunftstauglicher und weitaus mächtiger.
is klar - wuerde mich auch immer noch ueber eine idee/alternative in richtung dom freuen
und mir ist immer noch nicht ganz klar was der setAttribute-link mit dem problem zu schaffen hatte
Damit könntest du das href-Attribut des von dir zuvor erzeugten a-Elementes setzen.
- ich kann den a-tag nich erzeugen - dieser ist ne vorgabe
Diese Wortgruppe verstehe ich nicht.
Ist der exakte String „<a href="#">link</a>“ vorgegeben?
Wenn ja inwiefern und warum?
ja dieser und andere strings sind so vorgegeben - 'warum' gibt's eigentlich keines - ist einfach so
Einen schönen Donnerstag noch.
Gruß, Ashura
dir auch noch nen schoenen donnerstag :)
markus
Hallo markus.
is klar - wuerde mich auch immer noch ueber eine idee/alternative in richtung dom freuen
Wenn der String exakt vorgegeben ist, bleibt hier wohl nur innerHTML.
Den String erst mittels regulärer Ausdrücke auseinanderzupflücken, nur um DOM-gerecht Element vom Attribut zu trennen, damit es dann säuberlich wieder zusammengesetzt werden kann, ist in meinen Augen nicht wirklich effizient.
ja dieser und andere strings sind so vorgegeben - 'warum' gibt's eigentlich keines - ist einfach so
Ich bevorzuge fast immer Begründungen, akzeptiere dies aber auch so.
Einen schönen Donnerstag noch.
Gruß, Ashura
Hallo markus.
is klar - wuerde mich auch immer noch ueber eine idee/alternative in richtung dom freuen
Wenn der String exakt vorgegeben ist, bleibt hier wohl nur innerHTML.
Den String erst mittels regulärer Ausdrücke auseinanderzupflücken, nur um DOM-gerecht Element vom Attribut zu trennen, damit es dann säuberlich wieder zusammengesetzt werden kann, ist in meinen Augen nicht wirklich effizient.
yupp
ja dieser und andere strings sind so vorgegeben - 'warum' gibt's eigentlich keines - ist einfach so
Ich bevorzuge fast immer Begründungen, akzeptiere dies aber auch so.
es geht um das frontend eines pagers - bis jetzt wurden die daten so gerendert wie sie vom server kamen - dazu kamen jetzt modifieres die den inhalt einer spalte ggf aendern - einen modifier so zu bauen das er fuer jedes elemet ein eigenes dom-objekt erstell empfand ich als zu dick - also hab ich mich fuer was einfacheres entschieden
der modifier - 2, <a href="/users/details/{0}">{2}</a> - macht aus 12;bla;markus - 12;bla;<a href="/users/details/12">markus</a> ... das ist eigentlich alles ... und wie gesagt das 'warum' tut da nich viel zur sache - der record der vom server kommt koennte z.b. auch schon so aussehen - dann haette ich das gleich problem nur das das 'warum' noch weniger eine rolle spielt
guten morgen
markus
danke
markusps: so was in der art wie td.innerHTML = '<tag>' aber ...
ha - genau das funktioniert :)
danke
markus