0

<img>假设我有一个要动态填充的空占位符标记。我呼吁$("img").attr("src", "somephoto.jpg")将元素指向正确的图像。但是,然后我想根据这个图像的宽度做一些事情,但两者都$("img").width()返回$("img").attr("width")0。

我怎样才能获得图像的宽度——或者更好的是,有没有办法动态设置图像的 src 是更好的实践并且可以解决我的问题?

4

2 回答 2

0

我会亲自附加整个新图像,而不是使用空的 img 标签的 src 属性。

他们如何返回零?请记住,这两个方法将返回一个表示宽度的字符串,即“10px”,而不是整数 10。

于 2011-02-01T05:44:08.363 回答
0

您必须先等待图像加载。

$("img")
  .attr("src", "somephoto.jpg")
  .on("load", function () {
    alert(this.height()+" "+this.width())
  })

我的 jQuery 可能有点生疏了。这里是纯 ol' JS

var i = new Image()
i.src = "somephoto.jpg"
i.onload = function () {
  alert(this.height + " " + this.width)
}
于 2011-02-01T05:45:25.017 回答