JQuery "Объект не поддерживает это свойство или метод" в Internet Explorer

Я использую jQuery для добавления динамического контента на веб-сайт.

Я пытаюсь создать новый элемент DOM по запросу, используя следующий код:

container = $('<div id="myContainer"></div>');

Это отлично работает в Firefox и Safari, но Internet Explorer генерирует ошибку. Ошибка IE: Object doesn't support this property or method

Я знаю, что jQuery правильно загружается и пробовал синтаксис jQuery и $.

Любые идеи относительно того, что может быть причиной этого?

Ответ 1

Если вы хотите добавить элемент DOM, код нужно немного изменить:

$('body').append('<div id="myContainer"></div>');
// body can be whatever containing element you want to hold myContainer
$('#myContainer').html('whatever you want inside of myContainer');

Ответ 2

Я не знаю, может ли это помочь, но я исправил свою проблему. В основном IE не хочет назначать объект jquery переменной undefined.

Итак, я сделал это вместо локальной переменной.

До:

function foo() {
  bar = $('#bar');
}

После:

function foo() {
  var bar = $('#bar');
}

Ответ 3

У меня была аналогичная проблема. Internet Explorer выдает эту ошибку при попытке изменить глобальный символ. Это касается не только зарезервированных слов. Мой пример:

function foo() {
    iframe = $("myDiv").append("<iframe></iframe>");
}

Это решает:

function foo() {
    var iframe = $("myDiv").append("<iframe></iframe>");
}

Это тоже:

function foo() {
    myIframe = $("myDiv").append("<iframe></iframe>");
}

(но во-первых, это лучший стиль)