【问题标题】:get an image height within object element获取对象元素内的图像高度
【发布时间】:2012-05-13 20:19:39
【问题描述】:

我有以下 HTML:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

<head>
    <title>Untitled Page</title>
    <script language='javascript'>
        window.onload = function () {
            alert($('#object1').height());
        }; 
    </script>
    <script type="text/javascript" src="jquery-1.7.2.js"></script>
</head>
<body>
    <object id="object1" height="205" width="246">
        <img id="Img1" height="205" width="246" src="../images/google_ad_example.jpg" />
    </object>
</body>
</html>

使用 jquery:

alert($('#object1').height());

我的 19 岁回来了!而不是 205 为什么?

谢谢。

【问题讨论】:

  • 不要使用width/height属性。那是古老的,不再是标准的了。

标签: jquery html height


【解决方案1】:

Hiya demo http://jsfiddle.net/keXRf/3/(使用attr或者你可以像这里一样设置css并使用.csshttp://jsfiddle.net/LAp2c/

链接:http://api.jquery.com/height/ :)

注意:由于您的情况使用了属性height=;您可以使用attr,这将为您提供所需的输出,但该链接应该可以帮助您更好地理解。

$('#object1').attr("height")

还有额外信息:您可以分配 .css("height", 205) 以确保整个 bwoser 的一致性,我在上面分享的链接中有很好的讨论。

进一步:.css('height').height()的区别在于后者返回一个无单位的像素值(例如400)而前者返回一个没有单位的值(例如400px )。当需要在数学计算中使用元素的高度时,建议使用.height() 方法。

屏幕截图 1:在 osx safari 中

屏幕截图 2:

【讨论】:

  • 代码中的alerts 都返回205。区别在哪里?这更好地显示了差异:jsfiddle.net/keXRf/13
  • HIya @Raminson hiya 首先感谢您的编辑;首先它返回 18,其次它返回 205 添加屏幕截图:我在 osx,safari,有一个不错的,cheerios!
  • 他用的是同样的方法,但是你的回答并没有解决问题
  • 嗨兄弟,我在 osx,FF 上,它只返回 205。我会在 Safari 上查看。
  • @roronoazorro 它解决了这个问题,使用attr() 是跨浏览器查找其高度的最佳方式。
【解决方案2】:

应该是

$('#object1 img').height()

【讨论】:

    猜你喜欢
    • 2012-11-06
    • 2018-04-29
    • 2016-04-27
    • 1970-01-01
    • 1970-01-01
    • 2013-12-28
    • 1970-01-01
    • 2011-04-15
    • 2016-05-11
    相关资源
    最近更新 更多