2010-11-12 4 views
0

Regardez ce script s'il vous plaîtproblème avec l'image() objet

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

pourquoi dans ma .load fonction i ne peut pas accéder à l'élément img?

Merci beaucoup

MISE À JOUR:

Mais les travaux suivants

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

oui sans fournir de structure DOM comment peut-il afficher..voir ma réponse aussi – kobe

Répondre

2

Aucune de ces deux exemples font vraiment aucun sens.

Dans la première, vous créez une image mais vous ne l'ajoutez pas au DOM. Ainsi, lorsque vous demandez à jQuery d'aller le trouver, il ne peut pas le faire car il n'y est pas encore. Dans la seconde, vous créez une nouvelle balise d'image, qui (en interne) va donner à jQuery un élément DOM réel pour travailler avec. Cependant, cet appel à ajouter votre objet Image au DOM semble superflu. Vous avez déjà obtenu et <img> alors il n'y a pas besoin d'un autre.

Je changerais le second comme suit:

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

#crop_image, il ne s'annexés à la doc en fait? si oui quand?

1

$("#crop_image") ne trouvera pas votre nouvelle image parce que vous ne l'avez pas encore ajouté au DOM. Utilisez $(img) à la place.

Une bonne façon de le faire serait:

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

vous devez fournir html à that.right

<img src="" /> 

Sinon, comment peut-il afficher

0

image a son propre événement de charge, il est probablement plus facile de faire quelque chose comme ça

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

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

edit: err, je veux dire l'objet Image.

Questions connexes