Объявление идентификатора DOM элемента не означает, что он доступен как глобальная переменная во всех браузерах. Единственный кросс-совместимый способ получить это сначала сделать.
var someId = document.getElementById("someId");
Редактировать: Я сделал этот тестовый код, который проверяет, что браузеры на основе webkit, кажется, делают id доступным как переменную без предварительного ее объявления. Согласно this , также IE будет показывать это поведение.
- Firefox: объект / не определено
- Safari: объект / объект
- Chrome: объект / объект
- IE: объект / объект (непроверенный)
Код:
<html>
<head>
</head>
<body>
<div id="foo"></div>
<script type="text/javascript">
alert("getElementById: "+typeof document.getElementById("foo"));
alert("as a var: "+typeof foo);
</script>
</body>