如何获取 src 由 jQuery 动态填充的图像的尺寸?

发布于 2024-10-15 08:37:04 字数 284 浏览 1 评论 0原文

假设我有一个空占位符 标签,我想动态填充它。我调用 $("img").attr("src", "somephoto.jpg") 将元素指向正确的图像。但是,然后我想根据该图像的宽度做一些事情,但是 $("img").width()$("img").attr("width") return 0。

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

Suppose I have an empty placeholder <img> tag that I want to populate dynamically. I call $("img").attr("src", "somephoto.jpg") to point the element to the correct image. However, then I want to do something based on this image's width, but both $("img").width() and $("img").attr("width") return 0.

How can I get the width of the image---or better yet, is there a way to dynamically set the src of an image that is better practice and would solve my problem?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

¢蛋碎的人ぎ生 2024-10-22 08:37:04

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

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

I would personally append the entire new image rather than using an empty img tag's src attribute.

How are they returning zero? Remember that these two methods will return a string representation of the width, ie "10px", and not the integer 10.

红墙和绿瓦 2024-10-22 08:37:04

您必须先等待图像加载。

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

我的 jQuery 可能有点生疏了。这是简单的 JS 版本

var i = new Image()
i.src = "somephoto.jpg"
i.onload = function () {
  alert(this.height + " " + this.width)
}

You have to wait for the image to load first.

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

My jQuery might be a bit rusty. Here it is in plain ol' JS

var i = new Image()
i.src = "somephoto.jpg"
i.onload = function () {
  alert(this.height + " " + this.width)
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文