2012-07-24 13 views
11
hata bu pasajı son satırında oluşur

Yakalanmayan Hata: NOT_FOUND_ERR: AppendChild çağrısı için DOM İstisna 8

Possible Duplicate:
javascript appendChild doesn't work

:

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

gerçekten bir şey yok başka oluyor ... Ben specialdiv doğruladıktan boş değil ya da böyle bir şey. Bu satırı neden bu hatayı aldığımı açıklayan var mı?

+3

'appendChild' bir ** DOM öğesi ** beklediği bir element geçemiyor değil, bir dize: https://developer.mozilla.org/en /DOM/Node.appendChild –

cevap

15

bir dize ancak

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

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

Bu hatayı alıyorsunuz çünkü appendChild dizeleri değil DOM öğelerini alıyor. appendChild'u kullanmadan önce aslında bir DOM öğesi oluşturmanız gerekir.

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

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

üzgünüm ... zaten bir çözüm yazmayı taahhüt etmiştim, şu an bile seninki seninki seninkiyle aynı olana benziyor – Kristian

+0

@Kristian: Evet, ben bir ninja gibiyim :) –

+1

ama şimdi ölmüş antwoordun ninja şarkısını düşünün .. hehe – Kristian

İlgili konular