0

html 要素を変数内に保存し、その要素に childelements を追加したいと考えています。その要素を通常のjqueryセレクターに追加できますが、変数には追加できません。なんで?

これが私のスニペットです:

var elements, UserTableWidget = {

    elements: {
       pagination: $("#pageNumbers")
    },

    init: function() {
        elements = this.elements;

        elements.pagination.append("<li>test</li>") // works not
        $("#pageNumbers").append("<li>test</li>") // works
    },
}
4

1 に答える 1

1

なぜすべてがとても複雑なのですか?一部簡略化しました。

$(function(){

  var UserTableWidget = {
    elements: {
      pagination: $("#pageNumbers")
    },

    init: function() {
      this.elements.pagination.append("<li>test</li>");
    },
  }

  UserTableWidget.init()
  // same as: UserTableWidget.elements.pagination.append("<li>test</li>");
});

コメントで述べたように、おそらく dom の準備が整う前にthis.elements.pagination初期化されます。("#pageNumbers")後で呼び出すinit()と、以前に計算された値 (空の jQuery コレクション) が使用されるため、何も追加されません。

于 2013-11-13T13:10:23.077 に答える