【发布时间】:2011-09-30 13:14:39
【问题描述】:
适用于所有浏览器,除了
查看这个例子,iE7 中的http://jsfiddle.net/uVRbG/1。
但是,当我从对象中删除样式 display:none 时,它可以正常工作:
我不明白,我只是想要硬编码的值...对象当时是否可见都无关紧要。有没有其他方法可以获取宽度和高度?
注意:我需要 document.ready 的宽度和高度,我不能等待所有这些图像加载完毕然后使用 img.width();
HTML:
<div id="test" style="display:none">
<img src="http://neuro.amygdala.net/wp-content/uploads/2007/11/i-stress-test.gif" width="100" height="100" />
</div>
<div id="result"></div>
<div id="result2"></div>
Javascript:
$('#result').html($('#test img:first').attr('width'));
$('#result2').html($('#test img:first')[0].getAttribute('width'));
谢谢, 卫斯理
【问题讨论】:
-
请在问题中包含您的代码,如果您愿意,请包含 jsFiddle 链接作为补充。
-
无法升级到最新的jQuery?
-
@ŠimeVidas 不,我不能,我只是注意到它在 1.6.3 中有效 - (只有第一个 .attr('width'),第二个 .getAttribute('width') 仍然没有不行——你知道为了解决这个问题而改变了哪些内部结构吗?呵呵..我猜不是.. :(
-
@Wesley
getAttribute('width')不是 jQuery 方法,它是内置在浏览器中的,所以你不能指望它在升级 jQuery:P时开始工作。为什么不能升级? -
@mblase75 不要认为这是重复的,这个问题是关于 .width() - 这是关于 .attr('width') (并且没有正确回答)
标签: javascript jquery image internet-explorer-7 attr