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