2016-01-21 74 views
2

我正在使用jquery创建一些新的DOM元素。我正在使用的可视化库要求在元素添加到DOM之前传递大小。新DOM元素的jquery高度

但是,jquery width()/height()函数都返回0.有什么办法来计算这个大小?

回答

1

尺寸取决于造型,所以造型必须计算。他们必须被渲染以被测量。为了呈现他们必须在DOM(哪怕只是瞬间):

  • 加入他们暂时以DOM(如身体)
  • 测量它们
  • 拆下它们(直到你准备将它们添加到它们的最终安放位置)

因为这一切都发生在一个代码/渲染周期中,您将看不到这些元素。

+0

@JonathanLam:阅读更新。您*必须将它们添加到DOM中才能测量它们,但这并不意味着当页面下一次呈现在屏幕上时它们必须变为可见。 –