image()对象有问题

时间:2010-11-12 17:34:00

标签: javascript jquery image

请看这个脚本

var src="some.jpg";
var img = new Image(); 
    img.src = src;
    img.id = "crop_image";
    $("#crop_image").load(function()
    {
     $("#crop_cont").append(img);
    })

为什么在我的.load函数中我无法访问img元素?

非常感谢

更新:

但以下作品

$('<img src="'+src+'" />').load(function()
                {
                    var img = new Image(); 
                    img.src = src;
                    $("#crop_cont").append(img);
                })

5 个答案:

答案 0 :(得分:2)

这两个例子都没有任何意义。

首先,您创建一个Image但不将其添加到DOM。因此,当你要求jQuery去找它时,它不能,因为它还没有。

在第二个中,您将创建一个新的图像标记,它(内部)将为jQuery提供一个实际的DOM元素。但是,将Image对象追加到DOM的调用似乎是多余的。你已经 <img>所以不需要另外一个。

我会按如下方式更改第二个:

    $('<img src="'+src+'" />').load(function()  {
      $("#crop_cont").append(this);
    });

答案 1 :(得分:1)

$("#crop_image")找不到您的新图片,因为您尚未将其添加到DOM中。请改用$(img)

正确的方法是:

var src="some.jpg";
var img = new Image(); 
img.src = src;
img.id = "crop_image";
$(img).load(function(){
     $("#crop_cont").append(this);
});

答案 2 :(得分:0)

#crop_image,它实际上会附加到文档吗?如果是的话?

答案 3 :(得分:0)

你需要向that.right提供html

<img src="" />

否则如何显示

答案 4 :(得分:0)

图像有它自己的onload事件,它可能最容易做这样的事情

var src="some.jpg";
var img = new Image();

img.id = "crop_image"; 
img.onload = $("#crop_cont").append(img); // event added
img.src = src;

编辑:错误,我的意思是图像对象。