v2.5.2
Giriş yap

Uncaught TypeError: Cannot read property 'removeChild' of null

arda
530 defa görüntülendi ve 1 kişi tarafından değerlendirildi

kodum bu ancak remove işlemi yaptığımda 1. bastığımda çalışıyor 2.de Uncaught TypeError: Cannot read property 'removeChild' of null hatasını alıyorum çözümü nedir ?

let li = document.createElement('li');
ul.appendChild(li)

let ppSpan = document.createElement('span');
ppSpan.style.backgruondColor = color[Math.floor(Math.random() * color.length)];
ppSpan.innerHTML = name.value.charAt(0).replace(/^\w/, function($0){return $0.toUpperCase();}) + surname.value.charAt(0).replace(/^\w/, function($0){return $0.toUpperCase();})
ppSpan.style.backgroundColor = color[Math.floor(Math.random() * color.length)];
ppSpan.draggable = true;
li.appendChild(ppSpan)

let p = document.createElement('p');
p.innerHTML = name.value.replace(/^\w/, function($0){return $0.toUpperCase();}) + ' ' + surname.value.replace(/^\w/, function($0){return $0.toUpperCase();})
li.appendChild(p)

let removeSpan = document.createElement('span');
removeSpan.innerHTML = 'remove';
removeSpan.className = 'remove';
li.appendChild(removeSpan);

let removeSpan2 = document.querySelectorAll('.participants ul li .remove');
removeSpan2.forEach(button => button.addEventListener('click', (e) => {
    e.currentTarget.parentNode.parentNode.removeChild(e.currentTarget.parentNode);
    console.log(e.currentTarget.parentNode)
}));

name.value = '';
name.select();
surname.value= '';
Cevap yaz
Cevaplar (1)
ugurozgen
1110 gün önce

İkinci sefer de hangi elemana tıklıyorsun bu önemli. sildikten sonra parentNode ile tekrar seçim yaptığında üst nesneeyi bulamıyor dolayısıyla metoda erişemiyor ve hata veriiyor. Muhtemelen hatan bu. Event ları adım adım uygula ve DOM' da meydana gelen değişiklikleri izle böylece hatanı daha kolay bulabilirsin diye düşünüyorum.