2012-11-01 2 views
-5

항상 'null'만 표시됩니다. 메신저는 alert (element), alert (element.id) 또는 다른 속성이 아니라, button 또는 td와 같은 실제 요소를 입력 할 때 어떤 일이 일어나는지 알아 내려고합니다.자바 스크립트에서 alert (요소)를 사용하면 어떻게됩니까?

+1

다음 요소가 아니지만 'null' – Esailija

+4

시도해보십시오! 너는 무엇을 기대 하느냐? – Bergi

+0

나는 그것을 시도했다, 그것은 "[object HTMLDivElement]", not null이다. – Hassan

답변

2

다음 요소가 아니지만 null입니다. 정말 요소라면, 그것은 "[object HTMLDivElement]"

0

alert에 전달하면,이 전에 경고 상자에 넣어 문자열로 주조 될 것 같은 문자열을 초래하는, 그것에 .toString()을 부를 것이다. DOM 요소를 문자열로 변환하면 일반적으로 Object.prototype.toString이 호출되므로 "[object HTMLSomeElement]"과 같은 내용이 표시됩니다.

대신 null를 볼 경우, 당신이 정말 element 변수로 DOM 요소를 선택하지 않은 것으로 보인다는 null (: 뭔가 다른 그 문자열 representatio입니다 "null" 덜) 값을했다. 이것은 DOM이 실제로로드되기 전에 document.getElementById (또는 이와 유사한 것)을 호출 한 경우 일 수 있으며, 요소가 발견되지 않으면 null을 반환합니다.

0
<div id="element"></div> 
<script> 
var element = document.getElementById("element"); 
alert(element); 
</script> 

null 대신 [Object HTMLDivElement]가 표시됩니다. 컨텍스트의 요소는 무엇인지 명확하게 할 수 있습니까?

관련 문제