제목이 매우 명확합니다. innerHTML
과 createTextNode
(Append
과 함께 사용) 사이에 큰 차이가 있습니까?innerHTML과 createTextNode를 사용하여 스팬을 채우는 데 큰 차이가 있습니까?
24
A
답변
29
물론. createTextNode
은 문자열을 이스케이프 처리하고 그대로 표시하며, innerHTML
은 html 류 문자열을 DOM으로 렌더링 할 수 있습니다. 원하지 않는 경우 (예 : 문자에 직접 이스케이프 문자를 지정할 때 이스케이프 처리되지 않은 태그가 포함되어 있지 않은 경우) textContent
(또는 IE의 경우 innerText
)을 사용할 수 있습니다.
그러나 모든 브라우저가 별다른 차이없이 똑같이 지원하기 때문에 createTextNode
을 권하고 싶습니다.
0
내 이해 innerHTML의 특정 조작은 모든 바운드 이벤트를 제거하므로 createTextNode를 사용하는 것이 좋습니다.
차이는 없습니다. –
무엇? createTextNode()는 텍스트를 노드에 추가 할 때 innerHTML보다 몇 배 더 빠릅니다. http://jsperf.com/innerhtml-and-createtextnode – devnull69
@ devnull69을 참조하십시오.이 테스트는 특히 새로운 내용을 여러 번 추가하기위한 테스트이며 자연스럽게 HTML 추가가 느려질 것입니다. 하지만 텍스트를 추가하는 것만으로도 매우 유사합니다 (innerHTML은 실제로 조금 더 빠릅니다). http://jsperf.com/innerhtml-and-createtextnode/2 내 컴퓨터에서 – David