1

そのため、BackBone の render() メソッドでテンプレートを取得しています。

var html = $(template).render();
this.el.html(html);

そのテンプレート用にいくつかの css を定義しています。たとえば、要素のパーセント幅です。上記の行の後にjqueryを使用してその高さを取得できないようです。それで、それは実際にそれをDOMにレンダリングしますか?要素はいつ計算されますか?

Thxラルフ

4

1 に答える 1

3

まず、jquery キャッシュ要素を使用する必要がありますthis.$el.html(html)。この後、ビューは既にレンダリングされていますが、DOM にアタッチされていないため、高さや幅などのプロパティは未定義 (またはゼロ) になります。

たとえば、これは何かを返すはずです:

var html = $(template).render();
this.$el.html(html);
this.$el.appendTo("body");
console.log(this.$el.height());
于 2012-12-06T20:06:00.297 に答える