IE8不附加对象

时间:2013-07-01 09:19:08

标签: javascript internet-explorer-8 coffeescript

我遇到IE8没有附加我想要的元素的问题,请参阅下面的代码

咖啡

testSite.create_featured_related_product = (modifier) ->
  __link = $('<a href="#">')
  __img = $('<img src="http://localhost:9000/img/img.png"/>')
  __link.append(__img)
  $( '.product-relation__group-' + modifier ).prepend (__link)
 @

的Javascript

testSite.create_featured_related_product = function(modifier) {
  var __img, __link;
  __link = $('<a href="#">');
  __img = $('<img src="http://localhost:9000/img/img.png"/>');
  __link.append(__img);
  $('.product-relation__group-' + modifier).prepend(__link);
  return this;
};

上述任何内容(<a><img>)都不会附加到<div class="group">。 我从IE8控制台得到的错误是:

'undefined' is null or not an object  jquery-with-plugs__0.3.1.js, line 963 character 13

该行似乎是jQuery的一部分并且说

"inprogress" === e && (e = c.shift(), d--), f.cur = e, e && ("fx" === b && c.unshift("inprogress"), delete f.stop, e.call(a, g, f)), !d && f && f.empty.fire()

上下文中的错误:

}), ib.extend({
    queue: function (a, c, d) {
        var e;
        return a ? (c = (c || "fx") + "queue", e = ib._data(a, c), d && (!e || ib.isArray(d) ? e = ib._data(a, c, ib.makeArray(d)) : e.push(d)), e || []) : b
    },
    dequeue: function (a, b) {
        b = b || "fx";
        var c = ib.queue(a, b),
            d = c.length,
            e = c.shift(),
            f = ib._queueHooks(a, b),
            g = function () {
                ib.dequeue(a, b)
            };
        "inprogress" === e && (e = c.shift(), d--), f.cur = e, e && ("fx" === b && c.unshift("inprogress"), delete f.stop, e.call(a, g, f)), !d && f && f.empty.fire()
    },
    _queueHooks: function (a, b) {
        var c = b + "queueHooks";
        return ib._data(a, c) || ib._data(a, c, {
            empty: ib.Callbacks("once memory").add(function () {
                ib._removeData(a, b + "queue"), ib._removeData(a, c)
            })
        })
    }

有什么想法吗? 编辑:简化代码

1 个答案:

答案 0 :(得分:0)

问题在于IE8对追加的处理。不是jQuery错误。