Мой IE является IE 6. Это довольно старо, но я должен использовать его.
Я просто нашел странную проблему, она не поддерживает "document.getElementById ()"!
Посмотрите мой тестовый файл: test.html
<a id="aaa">xxx</a>
<script>
aaa = document.getElementById("aaa");
alert(aaa);
</script>
Когда я открываю этот файл IE, там показывает ОШИБОЧНОЕ диалоговое окно:
line: 3
char: 1
error: object doesn't support the attribute or method
code: 0
URL: file://D:/test.html
Я сделал некоторые ошибки? Это - настолько странный ~
Это потому, что элемент привязки настроен (в IE6) как глобальная переменная с именем aaa. А затем вы пытаетесь использовать другую переменную с таким же именем.
Если вы измените его на ...
<a id="aaa">xxx</a>
<script>
bbb = document.getElementById("aaa");
alert(bbb);
</script>
, все должно работать.
Измените имя переменной, чтобы оно не то же, что и идентификатор элемента.
Как заметил Барриллойд, это потому, что элемент привязки настроен (в IE6) как глобальная переменная с именем aaa. Вы можете использовать var для создания локальной переменной с именем aaa:
<a id="aaa">xxx</a>
<script type="text/javascript">
var aaa = document.getElementById("aaa");
alert(aaa);
</script>
Это фрагмент вашего HTML-файла или весь файл? В первом случае я бы предложил добавить соответствующие теги (
,
) и doctype. Во-вторых, элемент должен загружаться при выполнении этого javascript, но с IE6 я бы не стал на него полагаться. Поэтому вы можете попробовать его внутри функции onload:
window.onLoad = function() {
alert(document.getElementById("aaa"));
}
Это работает, если вы поместите блок javascript в раздел тега
. Именно там обычно размещается JS.