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 и $ синтаксис.

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

3 ответов


Если вы хотите добавить элемент 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');

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

поэтому я объявил эту локальную переменную вместо этого.

перед:

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

после:

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

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

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

Это решает он:

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

Это тоже:

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

(но первый в любом случае лучше стиль)