2017-11-20 11 views
0

appendChild을 사용하여 요소를 추가하려고합니다. 그 내부 HTML에 대한 추가 자식을 위해 <p> 요소를 생성 중입니다. 하위 추가 후 <p></p>을 삭제할 수있는 옵션이 있습니까? 나는 <p> 태그를 전혀 원하지 않는다. 임시 컨테이너로 사용하여 appendChild이 작동하는지 확인하려고합니다.appendChild with create element, 임시 요소 제거

편집 : javascript로 기존 HTML 컨텐트에 새 html 컨텐트를 추가하려고합니다. 내가 그 일을하려고 할 때 나는 아래의 오류에 직면한다. 그래서 새로운 요소를 가져 와서 해당 요소에 새로운 html을 할당 한 다음 appendchild를 수행하고 있습니다.

오류 : catch되지 않은 형식 오류 : '노드'에 '에 appendChild'을 실행하지 못했습니다 : 매개 변수 1 유형의 '노드'아니다

+1

요소를 원하지 않으므로 '텍스트'노드가 필요합니다. – Xufox

+1

원하지 않는 요소를 만드는 대신 ['document.createTextNode (text)'] (https://developer.mozilla.org/en-US/docs/Web/API/Document/createTextNode)를 사용하십시오. –

+0

div와 문자열이 아니기 때문에 콘텐츠에 문제가 있습니다. Uncaught TypeError가 발생했습니다 : 'Node'에서 'appendChild'를 실행하지 못했습니다. 매개 변수 1의 유형이 'Node'예외가 아닙니다. 그것이 내가 p를 추가하고 자식을 추가 한 후에 p를 제거하려고하는 이유입니다. – Kurkula

답변

1

그래서 그냥 textNode

document.body.appendChild(document.createTextNode('Hello!')) 

textNode가 추가하려면 텍스트 만 포함하고 마크 업은 포함하지 않는 특별한 유형의 DOM 노드. "일시적으로"p 요소를 만들기 내가 아래에 노력하고 HTML 콘텐츠 근무

+0

빈 텍스트 노드를 만들 수 있습니까? – Kurkula

+1

공백이란 무엇을 의미합니까? –

+0

예,하지만 왜해야합니까? –

0

필요하지 않습니다. 나는 firstElementChild를 사용하여 생성 된 임시 요소를 제거했습니다.

var z = document.createElement('p'); 
z.innerHTML = 'test satu dua tiga'; 
document.body.appendChild(z.firstElementChild);