2012-07-24 10 views
11

Possible Duplicate:
javascript appendChild doesn't worknicht erfasste Fehler: NOT_FOUND_ERR: DOM Ausnahme 8 für appendChild Anruf

Der Fehler in der letzten Zeile dieses Schnipsel auftritt:

var anchor = "<a id=\"hostname\" href=\"" + destination + "\"> "+ imagename + "</a>"; 
var specialdiv = document.getElementById("specialdiv"); 
console.log("div: " + specialdiv); 
specialdiv.appendChild(anchor); 

Es gibt wirklich nichts anderes passiert ... ich festgestellt, dass specialdiv ist nicht null oder so ähnlich. Kann jemand erklären, warum ich diesen Fehler in dieser Zeile bekomme?

+3

'appendChild' a ** DOM-Element erwartet **, kein String: https://developer.mozilla.org/en /DOM/Node.appendChild –

Antwort

15

nicht passieren einen String, sondern ein Element

var link = document.createElement('a'); 
link.innerHTML = imagename; 
link.id = "hostname"; 
link.href = destination; 

var specialdiv = document.getElementById("specialdiv"); 
specialdiv.appendChild(link); 
3

Sie erhalten diesen Fehler, weil appendChild DOM-Elemente, keine Zeichenfolgen übernimmt. Sie müssen tatsächlich ein DOM-Element erstellen, bevor Sie appendChild verwenden.

var anchor = document.createElement('a'); 
anchor.id = "hostname"; 
anchor.href = destination; 
anchor.innerHTML = imagename; 

var specialdiv = document.getElementById("specialdiv"); 
specialdiv.appendChild(anchor); 
+0

sorry ... ich war bereits verpflichtet, eine Lösung zu schreiben, auch wenn es jetzt in der Nähe eines Duplikats von dir – Kristian

+0

@Kristian: Ja, ich bin wie ein Ninja :) –

+1

kann ich nicht helfen aber denk an den Ninja-Song von Die Antwoord jetzt .. hehe – Kristian

Verwandte Themen