2012-07-24 10 views
11

Possible Duplicate:
javascript appendChild doesn't workno detectada de error: excepción DOM 8 para la llamada appendChild

El error se produce en la última línea de este fragmento:: NOT_FOUND_ERR

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

Realmente no hay nada más que hacer ... Me verificó que specialdiv no es nulo o algo así. ¿Alguien puede explicar por qué estoy recibiendo este error en esa línea?

+3

'appendChild' espera un elemento DOM ** **, no es una cadena: https://developer.mozilla.org/en /DOM/Node.appendChild –

Respuesta

15

no pasar una cadena, sino 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

Obtiene ese error porque appendChild toma elementos DOM, no cadenas. Necesita crear realmente un elemento DOM antes de usar appendChild.

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

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

lo siento ... ya me he comprometido a escribir una solución, aunque ahora está maldito cerca de un duplicado del tuyo – Kristian

+0

@Kristian: Sí, soy como un ninja :) –

+1

no puedo ayudarte pero piensa en la canción ninja de antwoord ahora ... jeje – Kristian

Cuestiones relacionadas