在纯JavaScript中,jQuery的.height()和.width()等效于什么?

博士 阿拉法特·艾哈迈德(Arafat Al Mahmud)

是否有任何等效的跨浏览器API用于获取内容的高度和宽度,但不包括边框大小,填充和边距?我没有使用jQuery的选择。

编辑:忘了提,我也必须支持IE 8。

博士 阿拉法特·艾哈迈德(Arafat Al Mahmud)

好吧,我设法解决了。对于除IE <9以外的浏览器,Window.getComputedStyle()均可以使用。在应用活动样式表并解析这些值可能包含的所有基本计算之后,Window.getComputedStyle()方法将给出元素的所有CSS属性的值。有关更多详细信息,请参见https://developer.mozilla.org/en-US/docs/Web/API/Window.getComputedStyle

IE 8及更早版本存在问题。getComputedStyleundefined在其中。幸运的是,IE具有专有currentStyle属性,可以从中检索内容widthheight悲哀而真实的是,如果我们宣布width%在样式表中,它会返回%也。

因此问题仍然存在,我们需要一种将百分比转换为像素值的方法。有一个黑客院长爱德华兹解决这个问题。多亏他!

    var PIXEL = /^\d+(px)?$/i;
    function getPixelValue(element, value) {
        if (PIXEL.test(value)) return parseInt(value);
        var style = element.style.left;
        var runtimeStyle = element.runtimeStyle.left;
        element.runtimeStyle.left = element.currentStyle.left;
        element.style.left = value || 0;
        value = element.style.pixelLeft;
        element.style.left = style;
        element.runtimeStyle.left = runtimeStyle;
        return value;
    };

因此,最终,使用hack查找内容宽度(用于计算高度的逻辑相同,只是查询高度而不是width的逻辑)的跨浏览器解决方案如下:

假设我们有一个divID为的ID 'container'在样式表中将其宽度设置为50%。

 <style type="text/css">

    #container {
        width: 50%;
        padding: 5px;
    }

  </style>

测试JavaScript代码:

var container = document.getElementById('container');
if (window.getComputedStyle) {
      var computedStyle = getComputedStyle(container, null)
      alert("width : "+computedStyle.width);
} else {
      alert("width : "+getPixelValue(container,container.currentStyle.width)+'px');
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

纯/本地javascript中的这段代码等效于什么?

来自分类Dev

纯/本地javascript中的这段代码等效于什么?

来自分类Dev

Javascript原生等效于JQuery .each()和$(this)

来自分类Dev

zsh中的\ [... \]等效于什么?

来自分类Dev

Java中的javascript setTimeout等效于什么?

来自分类Dev

撒克逊语中的xalan:component和xalan:script等效于什么?

来自分类Dev

javascript中jQuery的.before()函数等效于什么?

来自分类Dev

javascript中jQuery的.before()函数等效于什么?

来自分类Dev

为什么rect在Firefox中需要width和height属性?

来自分类Dev

R中的`cons`等效于什么?

来自分类Dev

在Swift中Java的instanceof等效于什么?

来自分类Dev

在Java中,stringByFoldingWithOptions:locale:等效于什么?

来自分类Dev

Swift中的Java Object等效于什么?

来自分类Dev

在C#中,ReDimStatement等效于什么?

来自分类Dev

在SQLAlchemy中,peewee的DidNotExist等效于什么?

来自分类Dev

D中的Scala groupBy等效于什么?

来自分类Dev

Java在Serde中的瞬态等效于什么?

来自分类Dev

在Java中,stringByFoldingWithOptions:locale:等效于什么?

来自分类Dev

在Powershell中rm -rf等效于什么?

来自分类Dev

Ninject中的Windsor的DictionaryAdapterFactory等效于什么?

来自分类Dev

Ninject中Autofac的PropertiesAutoWired等效于什么

来自分类Dev

RDFlib中的rdf:ID等效于什么?

来自分类Dev

什么是std :: filebuf等效于ifstream :: eof :: fail和:: tellg

来自分类Dev

jQuery和纯Javascript中的指针事件绑定之间的区别

来自分类Dev

什么jQuery函数等效于PHP的str_replace?

来自分类Dev

Javascript真值等效于not undefined,not null和not empty string?

来自分类Dev

React和Javascript:是否等效于C函数原型?

来自分类Dev

在R中,Matlab中的“ mod”函数句柄等效于什么?

来自分类Dev

STL中的boost :: upgrade_to_unique_lock等效于什么?

Related 相关文章

  1. 1

    纯/本地javascript中的这段代码等效于什么?

  2. 2

    纯/本地javascript中的这段代码等效于什么?

  3. 3

    Javascript原生等效于JQuery .each()和$(this)

  4. 4

    zsh中的\ [... \]等效于什么?

  5. 5

    Java中的javascript setTimeout等效于什么?

  6. 6

    撒克逊语中的xalan:component和xalan:script等效于什么?

  7. 7

    javascript中jQuery的.before()函数等效于什么?

  8. 8

    javascript中jQuery的.before()函数等效于什么?

  9. 9

    为什么rect在Firefox中需要width和height属性?

  10. 10

    R中的`cons`等效于什么?

  11. 11

    在Swift中Java的instanceof等效于什么?

  12. 12

    在Java中,stringByFoldingWithOptions:locale:等效于什么?

  13. 13

    Swift中的Java Object等效于什么?

  14. 14

    在C#中,ReDimStatement等效于什么?

  15. 15

    在SQLAlchemy中,peewee的DidNotExist等效于什么?

  16. 16

    D中的Scala groupBy等效于什么?

  17. 17

    Java在Serde中的瞬态等效于什么?

  18. 18

    在Java中,stringByFoldingWithOptions:locale:等效于什么?

  19. 19

    在Powershell中rm -rf等效于什么?

  20. 20

    Ninject中的Windsor的DictionaryAdapterFactory等效于什么?

  21. 21

    Ninject中Autofac的PropertiesAutoWired等效于什么

  22. 22

    RDFlib中的rdf:ID等效于什么?

  23. 23

    什么是std :: filebuf等效于ifstream :: eof :: fail和:: tellg

  24. 24

    jQuery和纯Javascript中的指针事件绑定之间的区别

  25. 25

    什么jQuery函数等效于PHP的str_replace?

  26. 26

    Javascript真值等效于not undefined,not null和not empty string?

  27. 27

    React和Javascript:是否等效于C函数原型?

  28. 28

    在R中,Matlab中的“ mod”函数句柄等效于什么?

  29. 29

    STL中的boost :: upgrade_to_unique_lock等效于什么?

热门标签

归档