1

下面的执行没有错误,但 DOM 没有更新。

var Cart = function() {
  var $cart;

  function init() {
    $cart = $("#cart");

    this.refresh();
  }

  function refresh() {
    $.ajax({
      // ...
      success: function(html) {
        $cart.html(html); // $cart seems to exist as JS object, but #cart doesn't get updated in the DOM.
        $("#cart").html(html); // This works!
      }
    });
  }

  return {
    init: init,
    refresh: refresh
  }
}();

$(function() {
  Cart.init();
});

更新

与上面的代码相反,我实际上并没有在 jQuery 就绪事件中调用 Cart.init() 。

4

1 回答 1

3

调用时检查您的#cart对象是否存在Cart.init()。这是我在您的两个工作代码和不工作代码之间看到的唯一区别,因为没有其他问题(参见fiddle)。

于 2012-12-01T18:52:45.673 回答