2013-08-12 2 views
2

Как студент и кто-то, довольно новый для веб-разработки, я испытываю следующую, казалось бы, странную проблему в Javascript - но только в IE (IE9, если быть точным, еще не пробовал IE10) , В Firefox скрипт работает без проблем.AppendChild (Javascript) и Internet Explorer

Код выглядит так:

item = document.createElement('li'); alert("alert1"); 
message = document.createTextNode("Hallo"); alert("alert2"); 
item.appendChild(message); alert("alert3");  

В IE, alert1 и alert2 показаны, но не alert3. Другими словами, IE9 зажимает третье утверждение выше (appendChild) и никогда не достигает alert3. Странно.

Используя Google, я обнаружил, что есть известные проблемы с appendChild в IE (по крайней мере, в более ранних версиях). Но ни одна из описанных проблем или обходные решения, по-видимому, не соответствуют моему простому коду, как было указано выше.

Заранее благодарим за любые предложения.

Редактировать добавить: Консоль сообщает следующее сообщение об ошибке: «Объект не поддерживает свойство или метод appendChild».

+0

IE разработан, чтобы сделать его трудным и раздражает. Попробуйте вместо этого установить innerHTMLof li. – SHANK

+0

Я не могу воспроизвести проблему с помощью простой скрипки (тестирование в IE9): http://jsfiddle.net/RnwPG/ – Ian

+0

@Teemu Интересно. Я все еще ожидал, что строка 'item = document ...' выше будет перезаписана любым окном. Window.item – Ian

ответ

4

item - родной метод в объекте IE window.

Вы можете переименовать переменную, или объявить его правильно:

var item = document.createElement('li'); 
+0

Да, это решило, отлично! Видимо, я не должен здесь благодарить, но я все равно скажу: спасибо. – Holland

+1

@Holland Ты добрый. Спасибо всегда приятно получить, но самое лучшее спасибо зеленый галочку в ответе;). – Teemu

+0

И теперь я принял ответ (еще новый здесь). – Holland

Смежные вопросы