2012-07-24 10 views
11

Possible Duplicate:
javascript appendChild doesn't workUncaught Errore: NOT_FOUND_ERR: DOM Exception 8 per la chiamata appendChild

L'errore si verifica su l'ultima linea di questo frammento:

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

Non c'è davvero niente altro in corso ... ho verificato che specialdiv non è nulla o qualcosa del genere. Qualcuno può spiegare perché sto ricevendo questo errore su quella linea?

+3

'appendChild' aspetta un elemento DOM ** **, non una stringa: https://developer.mozilla.org/en /DOM/Node.appendChild –

risposta

15

non passare una stringa, ma un elemento

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

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

Si riceve questo errore perché appendChild accetta elementi DOM, non stringhe. È necessario creare effettivamente un elemento DOM prima di utilizzare appendChild.

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

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

scusa ... mi ero già impegnato a scrivere una soluzione, anche se ora è dannatamente vicino a un tuo duplicato – Kristian

+0

@Kristian: Sì, sono come un ninja :) –

+1

non posso aiutare ma pensa ora alla canzone dei ninja di die antwoord .. hehe – Kristian

Problemi correlati