|
|
|||||||
| Registrieren | Hilfe | Benutzerliste | Interessengemeinschaften | Kalender | Suchen | Heutige Beiträge | Alle Foren als gelesen markieren |
![]() |
|
|
LinkBack (1) | Themen-Optionen |
|
|
#1 (permalink)
|
|
Neuer Benutzer
Registriert seit: 18.01.2006
Beiträge: 7
|
Morschen zusammen!
Also ich hoffe jemand kann mir helfen, weil mein kleines Problem reizt mich langsam bis auf´s Mark Ich möchte ein neues Objekt in meinen DOM-Baum einfügen (einen P -Tag) mit einem TextNode der den Inhalt message hat. Dazu benutze ich die Funktion insertBefore(). Hier der HTML-Code in welches der Node eingefügt werden soll: Code:
<div id="box">
<h2>Live-Ticker für die WM ole,ole,ole</h2>
<div id="content"></div>
</div>
Code:
this.loadDiv = document.getElementById("content");
var zweitesElement = "Inhalt 1";
var drittesElement = "Inhalt 2";
var viertesElement = "Inhalt 3";
var fuenftesElement = "Inhalt 4";
message = "Zeit: "+zweitesElement +" Min: "+drittesElement+" Nachricht: "+viertesElement+" Spielstand: "+fuenftesElement;
var text = document.createElement("p");
var inhalt = document.createTextNode(message);
var position = this.loadDiv.firstChild;
//Ojekt in den DOM-Baum einfügen
this.loadDiv.insertBefore(text,position);
//Dann den Text-Node angehängt
text.appendChild(inhalt);
Das ganze ist eine Funktion die immer einen Knoten einfügt wenn im XML ein neuer Knoten hinzugekommen ist, diese Funktion wird zeitgesteuert aufgerufen. Danke schon mal für die Hilfe und ich hoffe irgend jemand hatte dieses Problem auch schon. |
|
|
|
|
|
#2 (permalink) |
|
Erfahrener Benutzer
Registriert seit: 14.03.2006
Beiträge: 256
|
Code:
var position = this.loadDiv.firstChild; //Ojekt in den DOM-Baum einfügen this.loadDiv.insertBefore(text,position); |
|
|
|
|
|
#3 (permalink) |
|
Neuer Benutzer
Registriert seit: 18.01.2006
Beiträge: 7
|
Hi HStev;
der Tag mit der ID Content hat schon Kindelelmete bei diesem Duchlauf. Da nur die neusten Elemete aus dem XML ausgelesen und darstgestellt werden sollen, ist das ganze in einer IF-Else Scheife untergebracht. Der komplette Code würde aber hier den Rahmen sprengen, deshalb hab ich mich auf den Code-Schnipsel beschränkt. Wenn ich den Knoten mit appendChild an das Ende einfüge funktioniert das super, ich bekomme ihn nur nicht im IE 5.5 an den Anfang. Code:
var text =document.createElement("p");
this.loadDiv.appendChild(text);
text.appendChild(document.createTextNode(message));
|
|
|
|
|
|
#4 (permalink) |
|
Erfahrener Benutzer
Registriert seit: 14.03.2006
Beiträge: 256
|
Grad probiert läuft im IE einwandrei das Problem muss woanders liegen...
Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Strict//EN">
<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="content-type">
<title></title>
<script language="javascript" type="text/javascript">
function InsertBefore()
{
this.loadDiv = document.getElementById("content");
var text = document.createElement("p");
var inhalt = document.createTextNode("test");
var position = this.loadDiv.firstChild;
//Ojekt in den DOM-Baum einfügen
this.loadDiv.insertBefore(text,position);
//Dann den Text-Node angehängt
text.appendChild(inhalt);
setTimeout("InsertBefore()", 2000);
}
setTimeout("InsertBefore()", 2000);
</script>
</head>
<body>
<div id="content"></div>
</body>
</html>
|
|
|
|
![]() |
| Lesezeichen |
| Themen-Optionen | |
|
|
LinkBacks (?)
LinkBack to this Thread: http://www.ajax-community.de/javascript/3188-insertbefore-laeuft-ie.html
|
||||
| Erstellt von | For | Type | Datum | |
| AJAX-Community Blog » Wie geil Internet Explorer sein könnte | This thread | Pingback | 05.01.2007 08:43 | |