2010-03-25 4 views
-2

« L'objet ne prend pas en charge cette propriété ou méthode »J'ai une erreur javascript dans mon IE8

Il est cette ligne.

pthumb = $("#pthumb").attr("src"); 

Est-ce que quelqu'un sait pourquoi?

+0

J'ai Jquery, et cela fonctionne parfaitement dans Firefox/Chrome. – TIMEX

+0

Incluez-vous d'autres bibliothèques javascript? –

+0

Pouvez-vous poster un balisage et/ou plus de votre code? –

Répondre

4

Vous avez une variable javascript appelé « pthumb » et un élément DOM avec l'id « pthumb », et le moteur JS IE pourrait essayer d'utiliser le mauvais.

Si vous avez une fonction appelée "pthumb" alors IE pourrait aussi essayer d'effectuer cette action sur l'objet fonction.

La dernière chose à faire est de s'assurer que vous utilisez "var" lors de la déclaration "pthumb" dans le Javascript. i.e. .:

var pthumb = $("#pthumb").attr("src"); 
+0

J'ai changé tous les noms de variables et rien ne se passait – TIMEX

+0

@alex, après avoir changé les noms, l'erreur se produit toujours? –

+0

correct, vous avez raison! – TIMEX

1

Assurez-vous que le DOM est prêt?

$(document).ready(function(){ 

    //wrap your code in document-ready check 

    pthumb = $("#pthumb").attr("src"); 

}); 
+0

Eh bien, c'est une fonction que j'appelle. – TIMEX

+0

C'est probablement le cas. Utilisez toujours $ (document) .ready(), cela évite beaucoup de problèmes. éditer après avoir vu ce qui précède: êtes-vous sûr que le DOM est prêt quand la fonction est appelée? – Jeff

+0

@alex: Donc vous appelez déjà '$ (document) .ready()' ??? Désolé, je ne comprends pas votre commentaire. –

0

vous pouvez vérifier la plaine méthode javascript:

var jthumb= document.getElementById('pthumb').attributes['src'].value; 
try{ 
pthumb = $("#pthumb").attr("src"); 
} 
catch(er){ 
alert(er.message + '\n'+jthumb) 
} 

Si vous ne surprenez pas l'erreur, l'élément est pas encore prêt.