>웹 프론트엔드 >JS 튜토리얼 >JavaScript에서 ID별로 요소를 효율적으로 제거하려면 어떻게 해야 합니까?

JavaScript에서 ID별로 요소를 효율적으로 제거하려면 어떻게 해야 합니까?

Susan Sarandon
Susan Sarandon원래의
2024-12-29 06:13:13949검색

How Can I Efficiently Remove Elements by ID in JavaScript?

JavaScript에서 ID로 요소 제거: 편리한 대안

JavaScript에서 요소를 제거하는 표준 방법은 상위 노드까지 순회해야 합니다.

var element = document.getElementById("element-id");
element.parentNode.removeChild(element);

이 접근 방식에는 상위 항목에 액세스하기 위한 추가 단계가 필요하므로 비효율적일 수 있습니다. 이 기사에서는 Element 프로토타입에 제거 메소드를 추가하여 요소 제거를 단순화하는 대안을 살펴봅니다.

Element 및 NodeList 프로토타입을 확장하면 모든 HTML 요소와 컬렉션에 제거 메소드를 도입할 수 있습니다.

Element.prototype.remove = function() {
    this.parentElement.removeChild(this);
}
NodeList.prototype.remove = HTMLCollection.prototype.remove = function() {
    for(var i = this.length - 1; i >= 0; i--) {
        if(this[i] && this[i].parentElement) {
            this[i].parentElement.removeChild(this[i]);
        }
    }
}

이제 추가 기능을 통해 요소를 직접 제거할 수 있습니다.

document.getElementById("my-element").remove();

또는 여러 요소에 대해 요소:

document.getElementsByClassName("my-elements").remove();

참고: 이 솔루션은 IE 7 이하에서는 지원되지 않습니다.

업데이트(2019): Node.js node.remove() 함수를 도입하여 요소 제거를 균일하게 만들었습니다. 더 간단함:

document.getElementById("my-element").remove();

또는 컬렉션의 경우:

[...document.getElementsByClassName("my-elements")].map(n => n && n.remove());

이 업데이트된 접근 방식은 Chrome, Firefox, Edge 및 Safari를 포함한 최신 브라우저에서 널리 지원됩니다.

위 내용은 JavaScript에서 ID별로 요소를 효율적으로 제거하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.