0

我遇到了 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)
            })
        })
    }

有任何想法吗?编辑:简化代码

4

1 回答 1

0

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

于 2013-07-01T10:52:56.777 回答