使用javascript/jquery获取上传的图像维度?

使用javascript/jquery获取上传的图像维度?,javascript,jquery,image,upload,dimensions,Javascript,Jquery,Image,Upload,Dimensions,也试试这个,但对我来说它不起作用 我上传图像,通过jquery将其插入页面,并希望围绕插入的图像创建div,但不知道图像的尺寸 $("#temp_image").html('<img src="uploads/obr1.jpg" alt="" id="tmp" />'); var img = document.getElementById('temp_image'); alert(img.clientWidth); 它也显示了0 问题在哪里?谢谢应该是: $("#temp_imag

也试试这个,但对我来说它不起作用

我上传图像,通过jquery将其插入页面,并希望围绕插入的图像创建div,但不知道图像的尺寸

$("#temp_image").html('<img src="uploads/obr1.jpg" alt="" id="tmp" />');
var img = document.getElementById('temp_image');
alert(img.clientWidth);
它也显示了0

问题在哪里?谢谢

应该是:

$("#temp_image").html('<img src="uploads/obr1.jpg" alt="" id="tmp" />');
var img = document.getElementById('tmp');
alert(img.clientWidth);
您当前正在尝试获取包含div temp_图像的宽度,而不是图像的宽度

此外,如果您使用jQuery,您只需执行以下操作:

$("#temp_image").html('<img src="uploads/obr1.jpg" alt="" id="tmp" />');
alert($('#tmp').width());
希望这有帮助

var img = document.getElementById('temp_image');
实际上并没有得到图像元素,而是得到包含图像的元素。你应该试试

var img = document.getElementById('tmp');


相反。另外,在获取图像的尺寸时,请确保图像确实可见,因为如果元素被隐藏,clientWidth和clientHeight将为零。

我尝试了您的方法,并且效果良好。你只是写得不好。你忘记关闭报价了

var oImg = new Image();
oImg.src = 'uploads/obr1.jpg';
if (oImg.complete) {
  alert(oImg.width)
}

点击此链接,您将获得帮助
var img = $('#tmp')[0];
var oImg = new Image();
oImg.src = 'uploads/obr1.jpg';
if (oImg.complete) {
  alert(oImg.width)
}