jQuery “Object doesn't support this property o

2019-02-16 14:16发布

I am using jQuery to add some dynamic content to a website.

I am attempting to create a new DOM element on-demand using the following code:

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

This works perfectly in Firefox and Safari, but Internet Explorer is generating an error. The IE error is: Object doesn't support this property or method

I know that jQuery is loading properly, and have tried both the jQuery and $ syntax.

Any ideas as to what might be causing this?

3条回答
We Are One
2楼-- · 2019-02-16 14:48

If you want to add a DOM element, the code needs to be modified a bit:

$('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');
查看更多
萌系小妹纸
3楼-- · 2019-02-16 14:49

I had a similar problem. Internet explorer throws this error when you try to modify a global symbol. This is the case not only for reserved words. My example was:

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

This solves it:

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

This, too:

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

(but the first is better style anyway)

查看更多
看我几分像从前
4楼-- · 2019-02-16 14:56

I don't know if it can help but I fixed my problem. Basically IE doesn't want to assign jquery object to an undefined variable.

So what I did is declare this a local variable instead.

Before:

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

After:

function foo() {
  var bar = $('#bar');
}
查看更多
登录 后发表回答