Javascript 在jQuery中获取Imagesize

Javascript 在jQuery中获取Imagesize,javascript,jquery,Javascript,Jquery,我想在jquery中获得imagesize,我有以下代码。它工作到了 alert (v); 我想知道当v实际上包含一个值时,其余部分有什么问题 var v = $('#xxx input').val(); alert (v); var newImg = new Image(); newImg.src = v; var height = newImg.height; var width = newImg.width; alert ('The im

我想在jquery中获得imagesize,我有以下代码。它工作到了

alert (v);
我想知道当v实际上包含一个值时,其余部分有什么问题

 var v = $('#xxx input').val();
    alert (v);
    var newImg = new Image();
    newImg.src = v;
    var height = newImg.height;
    var width = newImg.width;
    alert ('The image size is '+width+'*'+height);
谢谢 Jean

假设#xxx是您的输入容器id,您的代码应该可以工作:

<div id="xxx" align="center">
    <input name="test" value="/images/image1.jpg" />
</div>

Chrome更新

<script type="text/javascript">
    var newImg = new Image();
    $(function() {
        var v = $('#xxx input').val();
        alert(v);
        newImg.src = v;
        setTimeout(function() {
            var height = newImg.height;
            var width = newImg.width;
            alert ('The image size is '+width+'*'+height);
        }, 1000);
    });
</script>

var newImg=新图像();
$(函数(){
var v=$(“#xxx输入”).val();
警戒(五);
newImg.src=v;
setTimeout(函数(){
var高度=新高度;
变量宽度=新img.width;
警报('图像大小为'+宽度+'*'+高度);
}, 1000);
});

您在提醒图像时是否收到了正确的图像URL

我的第一个想法是将第一行更改为:

var v = $('#xxx').val();
此时,您正在选择ID为“xxx”的元素中的输入元素,但您希望具有ID为“xxx”的元素

编辑:另一个想法:

var v = $('#xxx input').val();
document.body.appendChild((function() {
    var newImg = document.createElement("img");
    newImg.src = v;
    newImg.id = "newImg";
    return newImg;
})());

var height = $("#newImg").attr("height");
var width = $("#newImg").attr("width");
alert('The image size is '+width+'*'+height);

您需要等待图像加载

var v = $('#xxx input').val();
alert (v);
var newImg = new Image();
newImg.onload = function() {
  var height = this.height;
  var width = this.width;
  alert ('The image size is '+width+'*'+height);
}
newImg.src = v;

编辑:将
src
分配移到末尾。

获取图像大小的代码并不总是有效。图像以异步方式加载,因此高度和宽度不会立即可用。您将需要以下内容:

var newImg = new Image();
var height, width;

newImg.onload = function() {
    height = newImg.height;
    width = newImg.width;
    window.alert('The image size is '+width+'*'+height);
};

newImg.src = v;

#xxx是输入字段,该值被传递到var v,并提醒您签出更新的脚本,应在chrome上工作,需要添加延迟,当您希望获得正确的v值时进行更改,并且只有一个输入字段10分钟才能加载图像?我们在这里谈论的形象有多大?还是取决于你的连接速度?