응용 프로그램이 특정 JavaScript 클래스 라이브러리에 의존 해야하는 경우 언어 문제가 아닌 일부 클래스 라이브러리 자체의 문제를 실수로 해결하려고합니다. 예를 들어, 텍스트 (HTML 요소가 포함될 수 있음)를 div 요소로 랩핑하려고 할 때. 다음 HTML이 있다고 가정합니다.
이것은 일부 텍스트이고 <a href = ""> a Link </a>입니다
현재로서는 다음으로 변환하려면 다음과 같이 변환하려면 다음과 같습니다.
<div> 이것은 일부 텍스트이고 <a href = ""> a link </a> <div>입니다
Brute Force의 가장 쉬운 방법은 .innerhtml 속성을 통해 상위 요소에 대한 업데이트를 수행 할 수 있다는 것입니다. 그러나 문제는 innerHTML을 사용할 때 HTML 요소가 재현되므로 모든 바운드 이벤트 청취가 유효하지 않다는 것입니다. 이것은 정말 큰 유리입니다! 따라서 현재 JavaScript 만 사용하여 달성 할 수 있습니다. 단점과 단점이 있습니다. 구현 코드는 다음과 같습니다.
var newwrapper = document.createElement ( 'div'); while (기존 Parent.firstChild) {// dom 요소를 이동, newwrapper.appendChild (기존 PPARENT.FIRSTCHILD); }Childnodes는 동적 노드의 모음이기 때문에 For Loop을 사용할 수 없습니다. 노드를 이동하는 한 인덱스 인덱스 값에 영향을 미칩니다. 우리는 while 루프를 사용하여 부모 요소의 첫 번째 자녀를 감지합니다. False를 나타내는 값을 반환하면 모든 노드가 새 부모에게 이동했음을 알 수 있습니다!