如何获取其src由jQuery动态填充的图像的维度?
假设我有一个空占位符如何获取其src由jQuery动态填充的图像的维度?,jquery,image,attr,Jquery,Image,Attr,假设我有一个空占位符,将元素指向正确的图像。但是,我想基于此图像的宽度执行一些操作,但是$(“img”).width()和$(“img”).attr(“width”)都返回0 如何获得图像的宽度?或者更好的是,有没有一种方法可以动态设置图像的src,这是更好的做法,可以解决我的问题?我个人会附加整个新图像,而不是使用空img标记的src属性 他们怎么会归零?请记住,这两种方法将返回宽度的字符串表示形式,即“10px”,而不是整数10。您必须先等待图像加载 $("img") .attr("sr
,将元素指向正确的图像。但是,我想基于此图像的宽度执行一些操作,但是$(“img”).width()和$(“img”).attr(“width”)
都返回0
如何获得图像的宽度?或者更好的是,有没有一种方法可以动态设置图像的src,这是更好的做法,可以解决我的问题?我个人会附加整个新图像,而不是使用空img标记的src属性
他们怎么会归零?请记住,这两种方法将返回宽度的字符串表示形式,即“10px”,而不是整数10。您必须先等待图像加载
$("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)
}
图像是自由浮动的还是插入到DOM中?我实际上是先插入它,然后继续更改图像。然而,我使用不同尺寸的图像,需要缩放它们;这就是为什么我需要一种快速查找宽度的方法。答案很多:即使这样,直到图像的onload
事件触发,您仍然无法读取高度和宽度,因为浏览器不知道它们。而且,img.height
和img.width
确实是数字。img.style.height和img.style.width是字符串。鉴于原始海报的问题使用了jQuery,我指的是$(“img”).attr(“width”)
和$(“img”).width()
,它们返回字符串。你是说.one
而不是,对吗?另外,您需要将this
包装到jQuery对象中:$(this).height()
jQuery没有“on”方法。束缚或束缚。load@sunn0:jQuery确实有一个.one()
方法,该方法在处理程序第一次激发后执行解除绑定,这对于加载
处理程序是有意义的。不确定@isaacs是不是在追求这个。