>웹 프론트엔드 >JS 튜토리얼 >전역 속성을 통한 DOM 요소 액세스가 권장되지 않는 이유는 무엇입니까?

전역 속성을 통한 DOM 요소 액세스가 권장되지 않는 이유는 무엇입니까?

DDD
DDD원래의
2024-12-23 05:40:11289검색

Why is Accessing DOM Elements via Global Properties Discouraged?

ID가 있는 전역 속성 및 DOM 트리 요소

Internet Explorer 및 Chrome과 같은 웹 브라우저에서 할당된 ID가 있는 DOM 트리의 요소는 전역 개체를 통해 액세스할 수 있습니다. 해당 ID를 변수 이름이나 창 개체의 속성으로 사용합니다. 예를 들어 ID가 "example"인 요소는 다음을 사용하여 얻을 수 있습니다.

alert(example.innerHTML); // Alerts "some text".

또는

alert(window["example"].innerHTML); // Alerts "some text".

그러나 이 동작은 여러 가지 이유로 권장되지 않습니다.

  • 기본 속성과의 충돌: 명명된 요소는 문서 개체의 속성이 되며, 이는 문서 개체와 충돌할 수 있습니다. 실제 속성. IE는 명명된 요소를 창 개체의 속성으로 추가하여 이를 더욱 복잡하게 만들어 잠재적으로 기존 멤버와 충돌합니다.
  • 전역 범위 가시성: 이러한 요소는 전역과 유사한 변수로 표시됩니다. 실제 전역 변수는 코드에서 이를 숨기지만 이름이 충돌하는 전역 변수에 할당할 때 var 선언을 생략하면 요소의 값이 실수로 변경될 수 있습니다.
  • 브라우저 간 지원 부족: IE, Chrome만 해당 , Opera는 처음에 이 동작을 지원했기 때문에 여러 플랫폼에서 일관되지 않았습니다.
  • 지원 중단 HTML5: HTML5 사양은 이 동작을 표준화하여 Firefox로 확장했습니다. 그러나 창에 표시되거나 전역 변수로 표시되는 명명된 요소에 의존하는 것은 여전히 ​​나쁜 습관으로 간주됩니다.

대신 DOM 트리에서 요소를 검색하기 위해 표준화된 getElementById 메서드를 사용하는 것이 좋습니다. 널리 지원되며 모호함이 적습니다.

위 내용은 전역 속성을 통한 DOM 요소 액세스가 권장되지 않는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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