Как сказал Сёг, эта ошибка возникнет, когда вы попытаетесь вызвать метод для объекта, у которого нет этого метода.
Это чаще всего вызвано тем, что объект является нулевым, когда вы ожидаете, что он, ну, не будет нулевым.
var myEl = document.getElementById('myElement');
myEl.appendChild(...)
Приведенный выше пример вызовет эту ошибку, если элемент "#myElement" не существует.
Если это происходит только в IE, а не в Firefox, скорее всего, это потому, что вы используете метод, который IE не поддерживает.
Решение? Вы можете попробовать Script Debugger, но я никогда не находил это полезным для себя. Самый надежный, но мучительно медленный метод - это отладка alert (). В стратегических точках через ваш код вставьте предупреждение с уникальным сообщением. В какой-то момент IE выдаст ошибку, так что вы будете знать, что ошибка находится где-то между последним предупреждением, которое вы видели, и следующим, которое не было.
function myFunc() {
alert('a');
var myEl = document.getElementById('myElement');
myEl.appendChild(something);
alert('b');
// more code
}
Если вы запустили это и увидели «а», но не «б», вы знаете, что где-то между ними. Боюсь, это просто печальное состояние JavaScript в IE.