Мой IE не поддерживает “document.getElementById ()”!

Мой 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

Я сделал некоторые ошибки? Это - настолько странный ~

7
задан harpo 8 July 2010 в 14:35
поделиться

5 ответов

Это потому, что элемент привязки настроен (в IE6) как глобальная переменная с именем aaa. А затем вы пытаетесь использовать другую переменную с таким же именем.

Если вы измените его на ...

<a id="aaa">xxx</a>
<script>
bbb = document.getElementById("aaa");
alert(bbb);
</script>

, все должно работать.

См. http://verens.com/2005/03/18/getelementbyid-bug-in-ie6/

15
ответ дан 6 December 2019 в 09:18
поделиться

Измените имя переменной, чтобы оно не то же, что и идентификатор элемента.

4
ответ дан 6 December 2019 в 09:18
поделиться

Как заметил Барриллойд, это потому, что элемент привязки настроен (в IE6) как глобальная переменная с именем aaa. Вы можете использовать var для создания локальной переменной с именем aaa:

<a id="aaa">xxx</a>
<script type="text/javascript">
var aaa = document.getElementById("aaa");
alert(aaa);
</script>
4
ответ дан 6 December 2019 в 09:18
поделиться

Это фрагмент вашего HTML-файла или весь файл? В первом случае я бы предложил добавить соответствующие теги ( , ) и doctype. Во-вторых, элемент должен загружаться при выполнении этого javascript, но с IE6 я бы не стал на него полагаться. Поэтому вы можете попробовать его внутри функции onload:

window.onLoad = function() {
  alert(document.getElementById("aaa"));
}
0
ответ дан 6 December 2019 в 09:18
поделиться

Это работает, если вы поместите блок javascript в раздел тега . Именно там обычно размещается JS.

-3
ответ дан 6 December 2019 в 09:18
поделиться
Другие вопросы по тегам:

Похожие вопросы: