2
나는 아직도 자바 스크립트의 초보자입니다. 왜 Text 노드를 한 번만 추가 할 수 있습니까? 다른 곳에 다시 추가하면 첫 번째 아이콘이 사라집니다.배열에 대한 appendChild는 마지막 요소에만 추가합니다.
문제에 대한 해결책이 필요하지 않습니다.이 문제의 원인이 무엇인지 궁금했습니다. textnode은 배열의 마지막 요소에 추가됩니다 예 :
function hideAdd(){
var hide = []
var afb = collectionToArray(document.getElementsByTagName('img'));
afb.pop();
var divs = [];
for (i=0; i < afb.length; i++){
divs.push(afb[i].parentNode);
hide[i] = document.createTextNode('Afbeelding verbergen');
}
console.log(divs);
for (i = 0; i < divs.length;i++){
divs[i].appendChild(hide[i]);
}
}
이제 알겠습니다. createTextNode를 변수에 넣지 않으면 (심지어 var 없이도 가능하다면), 작동했을 것입니다. 하지만 계속해서 동일한 var를 사용하기 때문에 항상 부모 노드가 변경됩니다. 교육적 응답에 감사드립니다. – Jarco
예, 새 노드를 만들고 계속 추가 할 수없는 이유는 없습니다. –