>  기사  >  웹 프론트엔드  >  document.all과 getElementById, getElementsByName, getElementsByTagName 간의 사용법 차이 - getElementById_javascript 기술

document.all과 getElementById, getElementsByName, getElementsByTagName 간의 사용법 차이 - getElementById_javascript 기술

WBOY
WBOY원래의
2016-05-16 18:57:351321검색

그러나 문서에서 특정 요소를 찾아야 하는 경우 가장 효율적인 방법은 getElementById()입니다.
그러나 getElementById 사용 결과는 브라우저마다 다를 수 있다는 점에 유의해야 합니다. 다음은 관련 지침입니다

코드 복사 코드는 다음과 같습니다.

text1:
;
text2:





위 코드를 IE에서 테스트했는데 첫 번째 텍스트 상자에 1을 입력하고 두 번째 텍스트 상자에 2를 입력한 다음 아래 버튼 두 개를 클릭합니다. 결과는 무엇입니까?
원래 의도는 버튼 1이 첫 번째 텍스트 상자의 값을 반환하고 버튼 2가 첫 번째 텍스트 상자의 값을 반환하도록 하는 것입니다.
결과적으로 두 버튼 모두 첫 번째 텍스트 상자의 값을 반환합니다.
즉, document.getElementById(elementName)를 실행하면 이름이나 ID가 elementName과 동일한 첫 번째 객체를 반환하고 ID를 기준으로 검색되지 않는다고 설명합니다.
fireFox에는 그런 문제가 없습니다. fireFox는 document.getElementById(elementName)를 실행할 때 elementName과 동일한 ID를 가진 객체만 찾습니다.
아마 IE가 호환성 문제 때문에 이렇게 한 것 같습니다.

테스트에 사용한 코드는 다음과 같습니다.


[Ctrl A 모두 선택 참고: 외부 J를 도입해야 하는 경우 실행하려면 새로 고쳐야 합니다. ]

At 이번에는 두 가지입니다. text에 입력한 값은 eee, www입니다.
IE에서 테스트한 결과는 eee, eee입니다.
eee, www도 입력합니다
IE의 테스트 결과는 다음과 같습니다. ,eee
위의 두 테스트 결과를 주의 깊게 분석합니다. 결론은: getElementById가 실행될 때마다 웹 페이지의 모든 양식이 순서대로 순회되며 id와 name의 두 값이 동시에 검색되며, 찾고 있는 ID가 존재하는 경우에는 검색이 진행되지 않습니다. 그러면 검색이 계속되지 않습니다. 즉,
즉, document.getElementById(elementName)를 실행하면 이름이나 ID가 elementName과 동일한 첫 번째 개체가 반환되며 ID로만 검색되지 않습니다.
firefox에서 동일한 두 테스트의 첫 번째 결과는 eee, www이고, 두 번째 결과는 id="ccc"를 찾을 수 없기 때문에 null을 반환합니다.
이 결과에 대해서는
도 참조하세요. http://www.jb51.net/article/16852.htm
그는 또한 getElementById 및 getElementByName을 분석했는데, 이는 살펴볼 가치가 있습니다.
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.