【问题标题】:Obtain element width & height when I didn't set it未设置时获取元素宽度和高度
【发布时间】:2011-03-22 09:42:44
【问题描述】:

我有一个 HTML 元素,但我没有在 CSS 中定义宽度或高度(或者有时我可能没有定义右侧或底部,但我确实定义了宽度和高度)。

如果我没有设置,你知道我如何使用 JavaScript 来获取元素的宽度或高度或右或下吗?

#blockMenu { z-index: 0; padding: 10%; }

如果我执行以下操作,我知道它不会起作用,因为我没有设置宽度或右侧:

var width = document.getElementById("blockMenu").offsetRight - document.getElementById("blockMenu").offsetLeft;

如果我没有设置元素的尺寸和位置,有没有办法确定它?

如果不是我定义宽度怎么办;如何通过 JavaScript 获取元素宽度?

【问题讨论】:

    标签: javascript jquery html css


    【解决方案1】:

    使用 JavaScript 你可以做到

    document.getElementById("blockMenu").clientWidth;
    document.getElementById("blockMenu").clientHeight;
    

    使用 jQuery 你可以做到

    $('#blockMenu').width();
    $('#blockMenu').height();
    

    http://jsfiddle.net/7jteV/2/查看工作示例

    【讨论】:

    【解决方案2】:

    如果您可以选择使用 jquery,则可以使用 height()width() 方法。

    【讨论】:

      【解决方案3】:

      你也可以使用 jQuery

      $("blockMenu").width()
      $("blockMenu").height()

      http://api.jquery.com/width/
      http://api.jquery.com/height/

      【讨论】:

        【解决方案4】:
        document.getElementById("blockMenu").style.width
        document.getElementById("blockMenu").style.height
        

        应该做的伎俩

        【讨论】:

        • 如果元素没有定义宽度和高度的内联样式,这将不起作用。
        • OP 专门寻求解决此方法的方法,因为如果之前没有明确设置大小,这将不起作用。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2017-04-06
        • 2013-08-11
        • 1970-01-01
        • 1970-01-01
        • 2019-12-29
        • 2016-03-17
        • 1970-01-01
        相关资源
        最近更新 更多