【问题标题】:javascript prop() not working in IE8javascript prop() 在 IE8 中不起作用
【发布时间】:2014-04-21 04:29:11
【问题描述】:

我对@9​​87654321@ 有疑问,我得到了对象0 的height。它在FFchrome 中工作正常。

    var value = obj.prop("height");

prop() 不适用于IE,或者高度为 0,因为 obj 是隐藏的图像标签。 有什么帮助吗?

【问题讨论】:

  • 你能得到IE上可见图像的高度吗?
  • 什么是obj?我不认为 prop 是一个普通的 javascript 函数
  • 如果元素有prop属性,你应该使用.attr(),而不是.prop()。如果你想得到计算出的高度,你应该使用.height()
  • @kennypu obj 是图片标签的id ..
  • 您可能希望显示相关的 HTML。您使用 prop() 来获得高度是有原因的吗?你可以只使用 .height()

标签: javascript jquery internet-explorer-8 height


【解决方案1】:

我将假设您正在尝试从看起来像这样的 img 标签获取 height 属性。

<img src="http://placehold.it/350x350" width="350" height="350" style="display:none;">

注意widthheight 属性。

如果你想获取 img 标签中的 height 属性值,尝试使用.attr() 像这样

var value = obj.attr("height");

另一个注意事项是图像可能未加载,因此在 IE8 上表现得很奇怪。尝试确保在获取高度之前加载图像。

关于此事,请参阅explanation about document.ready and window.load

但是,正如许多人所说,您应该使用 .height() 来获取元素的高度。

【讨论】:

    【解决方案2】:

    .prop 是一个 jquery 函数 您需要在页面中包含 jquery

    http://api.jquery.com/prop/
    

    对于 chrome 和 firefox,您可能会将其用作浏览器的缓存 我认为这就是它的工作原理......

    【讨论】:

    • 我不会发布答案,因为还有太多未知数。你假设 1. 他正在使用 jquery 和 2. 如果他是,他没有包含它。我们还不知道。
    • 我也包含了 jquery。
    • @kennypu 如果它在 FF 和 Chrome 上运行良好,它应该是 jQuery。 JavaScript 中没有 .prop() 方法。
    • 我在 FF 中没有收到任何错误,它工作正常。 IE控制台也没有错误,但是高度为0。
    • @Vidia 你应该提到 jQuery,因为 .prop() 不是来自 javascript。
    猜你喜欢
    • 2012-09-12
    • 1970-01-01
    • 2013-08-22
    • 2012-04-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-27
    • 1970-01-01
    相关资源
    最近更新 更多