Language(언어)/JavaScript

자바스크립트(JavaScript) getElementById(), getElementsByName() 이란?

대학교닷컴 2013. 12. 18. 11:10
반응형

getElementById(), getElementsByName() 이란?

 

getElementById()의 경우는 오브젝트의 id속성을 통해 인식하고

getElementsByName()의 경우는 오브젝트의 name을 통해 인식한다.

 

FF에서는 위의 룰에 따라 식별하며 IE는 알아서 식별해준다.

FF의 경우 getElementById()을 사용시 textarea에 id="myTextArea"가 없는 경우 또는

getElementsByName()을 사용시 textarea에 name="myTextArea"가 없는 경우 에러가 발생한다.

 

그리고 둘의 차이는 단수냐 복수냐 즉 단일 오브젝트냐 복수의 오브젝트(배열지정)냐로 구분할수 있다.

위의 예제처럼 2개의 동일한 id name의 텍스트 필드가 있을경우

getElementById()로 지정할경우 <texarea id="myTextArea" name="myTextArea">text1</textarea> 밖에 핸들링할수 없다.

물론 배열로 지정할경우 에러가 발생할 것이다.(FF)

getElementsByName()로 지정할경우 texarea 둘다 핸들링 가능하다. 물론 배열로 지정하지 않고

objTextarea.value를 사용하면 undefined 상태가 된다.