所以我在BackBone的render()方法中提取模板。
var html = $(template).render();
this.el.html(html);
我为该模板定义了一些css,例如元素的宽度百分比。在上面的行之后我似乎无法使用jquery获得那个高度。那么这实际上是什么时候将它呈现给DOM,何时才能计算元素?
THX 拉尔夫
答案 0 :(得分:3)
首先,您需要使用jquery缓存元素this.$el.html(html)
。
在此之后,视图已经呈现,但没有附加到DOM,因此,高度或宽度等属性将是未定义的(或零)。
例如,这应该返回一些内容:
var html = $(template).render();
this.$el.html(html);
this.$el.appendTo("body");
console.log(this.$el.height());