URL: https://www.overclockers.at/coding-stuff/mit_nodevalue_oder_data_html_einfuegen_144789/page_1 - zur Vollversion wechseln!
Bisher hab ich das immer mit innerHTML gelöst, jedoch ist diese Eigenschaft nicht w3c konform und "out of date".
Wenn man aber mit document.getElementById('xx').firstChild.nodeValue bzw. document.getElementById('xx').firstChild.data einen fett gedruckten Text einfügen will (zb "<b>Hallo!</b>"), dann schreibt er Hallo nicht fettgedruckt hin, sondern er schreibt "<b>Hallo!</b>" hin. Gibt es eine Möglichkeit, dass zu machen?
klar, dazu muss man nur das DOM-Node System verstanden haben.
Und eigentlich sagts der Name eh auch schon: "data" - das sind reine (unparsed) Strings, die kommen genau so auf den bildschirm wie man sie reinschreibt.
Willst du jetzt einen fetten text, so musst du ein umschliessendes "B" Element generieren:
Code: PHPbold = document.createElement('b'); text1 = document.createTextNode('Hallo'); bold.appendChild(text1); document.getElementById('xx').appendChild(bold);

Zitat von tomstigBisher hab ich das immer mit innerHTML gelöst, jedoch ist diese Eigenschaft nicht w3c konform und "out of date".
Man hat einfach viel mehr Möglichkeiten mit Nodes.Zitat von thatDas ist zwar nicht W3C konform aber absolut nicht "out of date", da es alle "gängigen" Browser beherrschen, und es weit einfacher und meistens schneller ist als der DOM-Ansatz.
Zitat von watchoutMan hat einfach viel mehr Möglichkeiten mit Nodes.

einfügen und umgekehrt.Code:<div style="width: 20px; height: 20px; border: 1px solid #000">
Hab das ganze mit "display: none" gelöst.
Ändere Attribut X auf Y von Element Z.Zitat von tomstigAn dieser Stelle wäre ein Beispiel interessant, wo du etwas mit nodes machst, was mit innerHTML nicht möglich ist
Ok, in Sache "Editieren" sind die nodes weltklasse, nur zum lernen sinds einfach zach 
Zitat von watchoutIn beiden Fällen 1 Zeile mit Nodes gegen mindestens 1 Schleife mit RegExp mit innerHTML

Du hast innerHTML als das "Allheilmittel" angepriesen, nicht ich... Und schon Content ersetzen ist extrem mühsam wenn man den Originaltext nicht kennt.Zitat von thatWer innerHTML für was anderes verwendet, als Content hinzuzufügen oder zu ersetzen und womöglich noch mit RegExp anfängt, HTML zu parsen, dem ist eh nicht mehr zu helfen.
Zitat von watchouttomstig:
Verstehe die Schwierigkeit darin einfach nicht.
Code: PHPdivnode = document.createElement('div'); //das ist noch logisch... // wenn man jetzt das attribut hinzufügen will // geht das (rein vom denkansatz) so: divnode = document.setAttribute('style', 'height: 30px; width: 30px'); // (^ ja ich weiß, das ist falsch) // so: divnode.setAttribute('style', 'height: 30px; width: 30px'); // ... oder überhaupt ganz anders/einfacher?
Code: PHP// Elementknoten x = document.getElementById(...); // Attributknoten erstellen att = document.createAttribute('style'); // Wert dem Attributnknoten zuweisen (kann an beliebiger Stelle geschehen) att.nodeValue = 'height:30px;wid...'; // Attributknoten dem Element zuweisen x.setAttributeNode(att);
Zitat von watchoutDu hast innerHTML als das "Allheilmittel" angepriesen, nicht ich...
Zitat von watchoutUnd schon Content ersetzen ist extrem mühsam wenn man den Originaltext nicht kennt.
"und es weit einfacher und meistens schneller ist als der DOM-Ansatz."Zitat von thatWo?
gut, da hab ich dich falsch verstanden.Zitat von thatDen muss ich nicht kennen, den ersetze ich ja. Node finden und innerHTML setzen - weg ist der Originaltext und der neue ist da.
Zitat von watchout"und es weit einfacher und meistens schneller ist als der DOM-Ansatz."
Tatsache ist dass es auf den Anwendungsfall ankommt
overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2026