선집의 일부인 Vanilla JavaScript의 DOM 조작 능력을 탐구하여 jQuery에 대한 강력한 대안임을 보여줍니다. Sitepoint Premium을 통해 완전한 선집에 액세스하십시오
및
는 효율적인 요소 선택을 제공합니다. 전자는 첫 경기를 반환하고 후자는 모든 경기를 노드리스트로 반환합니다.를 사용하여 요소 클래스 및 속성을 직접 수정하십시오.
이벤트 처리에 를 사용하여 단일 요소에서 다양한 유형의 여러 리스너를 가능하게하여 보다 더 많은 유연성을 제공합니다.
반복적 인 DOM 작업을 처리하기 위해 도우미 기능 또는 미니 라이브러리를 만들어 성능 및 코드 선명도를 향상시켜 기본 JavaScript를 사용하여 jQuery의 편의를 복제합니다.
.querySelector()
부모 요소 내에서 쿼리는 성능을 향상시킵니다
.querySelectorAll()
.classList
.setAttribute()
배열이 아닌 노드리스트를 반환합니다. 표준 배열 방법을 위해 배열로 변환하십시오 : const myElement = document.querySelector('#foo > div.bar');
, <🎜 🎜> 등과 같은 Nodelist 속성은 관련 노드에 대한 편리한 액세스를 제공합니다. children
를 사용하십시오
클래스 및 속성 수정 firstElementChild
<<nextElementSibling
childNodes
nodeType
효율적인 클래스 조작을 위해 instanceof
방법을 사용하십시오
<🎜 🎜> <<>, 및 및
는 HTML 속성을 직접 수정하여 브라우저를 트리거합니다. DOM 속성에 상당한 속성이없는 속성에 주로 사용하거나 복제와 같은 작업에서 변경을 지속시킬 때 이러한 속성을 사용하십시오. <🎜 🎜> <<> CSS 스타일 추가 <🎜 🎜>
.classList
myElement.matches('div.bar') === true;
<<> dom <🎜 🎜> <🎜 🎜> 수정
요소 조작에는 <🎜 🎜>,const myElements = document.querySelectorAll('.bar');
를 사용하십시오. .getAttribute()
.
<🎜 🎜> <<> 요소 속성 : innerhtml 및 textContent <🎜 🎜> <🎜 🎜>
.setAttribute()
<<> 및 .removeAttribute()
각각 HTML 및 일반 텍스트 내용을 관리합니다.
를 사용하는 것은 개별 노드를 추가하는 것보다 덜 효율적입니다. 를 사용하여 여러 추가 기능을 최적화하십시오 <🎜 🎜> <<> 이벤트 듣기
유연성 및 여러 리스너를 위해 이벤트 속성 (예 : <🎜 🎜>)에 직접 할당하는 것을 선호합니다. 트리거 된 요소에 액세스하려면
를 사용하십시오.const myChildElement = myElement.querySelector('input[type="submit"]');
, <🎜🎜>)을 제공합니다. 이벤트 대표단은 효율성을 향상시키고 동적으로 추가 된 요소를 처리합니다
<🎜 🎜> <<> 애니메이션 .window.getComputedStyle()
Array.from(myElements).forEach(doSomethingWithEachElement);
를 사용하여 레이아웃 스래싱을 피하십시오 자신의 도우미 방법을 쓰십시오
(FAQS 섹션은 간결하게 생략되었지만 입력에 제공된 정보는 이미 위에서 덮여 있습니다.)
appendChild()
insertBefore()
위 내용은 바닐라 JavaScript의 DOM 조작의 기본 (jQuery 없음)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!