[JavaScript] Element hinzufügen

Hallo Leute,
seit geraumer Zeit interessiere ich mich für AJAX.
Jetzt habe ich ein Javascript Problem.

Und zwar möchte ich in einen DIV Container,Indem sich viele DIVS befinden (in meinem Fall sind das Gästebucheinträge), Am Anfang , also direkt nach dem öffnen des DIV CONTAINER per JavaScript neue EINTRÄGE platzieren.

das sieht so aus...

Code:
<div id="container">
<!-- 
HIER SOLL EIN NEUER DIV REIN und zwar: <div id="26">Gästebucheintrag26</div>
-->
<div id="22">Gästebucheintrag22</div>
<div id="18">Gästebucheintrag18</div>
<div id="15">Gästebucheintrag15</div>
<div id="11">Gästebucheintrag11</div>
<div id="9">Gästebucheintrag9</div>
<div id="2">Gästebucheintrag2</div>
</div>

Habe schon mich schon mit den Methoden appendChild() und insertBefore() beschäftigt, komme aber nich so ganz damit zurecht.
Das Problem ist dass ich nie die id des Obersten Eintrages weiß, weil diese automatisch aus einer Datenbank geholt werde.
Vorallem eigentlich breuchte ich ja eigentlich so ne methode wie appendChildAtTop().....

kann mir jemand weiterhelfen ;)

Schönen tag euch noch allen :D
 
Erstmal danke für deine Mühe werde mir das mal anschauen.

EDIT: Also habe es jetzt mal folgendermaßen Probiert...
Code:
document.getElementById('container').childNodes[0].insertBefore(xmlHttp.responseText);

also ich will den Text der bei dem Request geholt wirdausgeben.
funktioniert leider nicht.

Console:
Code:
[Exception... "Not enough arguments" nsresult: "0x80570001 (NS_ERROR_XPC_NOT_ENOUGH_ARGS)" location: "JS frame :: [URL]http://xxxxxxx/index.php[/URL] :: anonymous :: line 195" data: no]
 
Code:
var newElement = document.createElement("div");
var responseText = document.createTextNode(xmlHttp.responseText);
newElement.appendChild(responseText);
document.getElementById('container').insertBefore(newElement, document.getElementById('container').childNodes[0]);
Supergeil das funktioniert :D Wahnsinn!
du bist echt genial :D

DANKE! :D

Jetzt hab ich allerdings nur noch 1 Problem. Und zwar befinden sich im Response Text ein paar HTML Elemente z.B. <br/> oder <span></span>. Leider wird dieser Responsetext ausgegeben und nicht mehr vom Browser interpretiert bzw. Alle Zeichen scheinen Escaped zu seind, sind sie aber nicht?

Gibts da einen Parameter für createTextNode oder so das die textNode interpretiert wird?
 
Was passiert, wenn du das so machst? Ich hab's nicht getestet:

Code:
var newElement = document.createElement("div");
var responseText = document.createTextNode("");
responseText.innerHTML = xmlHttp.responseText;
newElement.appendChild(responseText);
document.getElementById('container').insertBefore(newElement, document.getElementById('container').childNodes[0]);
 
Folgendes müsste funktionieren:

Code:
var newElement = document.createElement("div");
newElement.id = "26";
newElement.innerHTML = xmlHttp.responseText;
var container = document.getElementById('container');
container.insertBefore(newElement, container.firstChild);

Die ID müsstest du dann irgendwie auslesen, damits dynamisch wird! :)

Gruß
 
Also erstmal danke für eure Hilfe hat mir echt viel gebracht.
Habs jetzt folgendermaßen gemacht :)

Code:
// Timestamp für eindeutige ID würd erstellt
var jetzt = new Date();
var timestamp = jetzt.getTime();
 
var newElement = document.createElement("div");
newElement.setAttribute('id',timestamp);
var responseText = document.createTextNode(xmlHttp.responseText);
newElement.appendChild(responseText);
document.getElementById('container').insertBefore(newElement, document.getElementById('container').childNodes[0]);
document.getElementById(timestamp).innerHTML=xmlHttp.responseText;
 
Zurück
Oben