레이블 요소의 내부 텍스트를 변경하기 위해 일반 js를 사용하고 있으며 innerHTML 또는 nodeValue 또는 textContent를 사용해야하는 근거를 확신하지 못했습니다. 새 노드를 만들거나 HTML 요소 등을 변경할 필요가 없습니다. 텍스트 만 바꾸십시오. 코드의 예는 다음과 같습니다.
var myLabel = document.getElementById("#someLabel");
myLabel.innerHTML = "Some new label text!"; // this works
myLabel.firstChild.nodeValue = "Some new label text!"; // this also works.
myLabel.textContent = "Some new label text!"; // this also works.
jQuery 소스를 살펴본 결과 nodeValue를 정확히 한 번만 사용하지만 innerHTML 및 textContent를 여러 번 사용합니다. 그런 다음 firstChild.nodeValue가 상당히 빠르다는 것을 나타내는이 jsperf 테스트를 발견했습니다. 적어도 그것이 의미하는 바입니다.
firstChild.nodeValue가 훨씬 빠르면 캐치가 무엇입니까? 널리 지원되지 않습니까? 다른 문제가 있습니까?
nodeValue
HTML도 파싱하지 않습니다