Pour une raison quelconque, je reçois l'erreur JavaScript suivante dans Internet Explorer 8 à la ligne 3156 de jquery.js (version 1.4.3, version non compressée): Ceci est la ligne L'erreur se produit sur: p> investigation ( Cependant dans Internet Explorer, il s'agit de la sortie: p> objet ne prend pas en charge cette propriété ou cette méthode . Aucune erreur ne se produit dans Firefox et Google Chrome.
console.log (type expr.Leftmatch [Type ])) code>) produit le résultat intéressant suivant: Dans Google Chrome, il fournit p>
function() {
var p = this;
do p = p.previousSibling;
while (p && p.nodeType != 1);
return p;
}
3 Réponses :
Comme il s'avère, j'ai réussi à comprendre moi-même après plusieurs heures douloureuses. Il apparaît que le moteur SIZZLE SELector se casse sous cette manière inattendue (et uniquement dans Internet Explorer), si vous avez défini Suppression de cette déclaration ou renommer La chose drôle est, je mets même ce code là-bas moi-même (l'objet Eh bien, c'est un autre jour plein de potentiel de développement gaspillé. P> objet.pototype.previousObject code> ailleurs. P>
PrécédentObject code> à quelque chose d'autre corrige le problème. P>
.pototype.previousObject = [la fonction dans ma question] code>), mais je n'ai pas reconnu le code. P >
J'ai découvert que le même comportement se produit si vous essayez d'ajouter une méthode appelée "héritée" à l'objet.Prototype, c'est-à-dire Il affecte IE6, 7 & 8, mais semble être fixé dans IE9 (bêta) p> objet.pototype.inherited =
Peut être trop tard pour répondre mais j'avais le même problème et j'ai résolu avec la sélection d'éléments avec un script Java uni plutôt que JQuery! Cela fonctionne à quel point! P> p>
Quelle est la valeur de "type" au point que vous avez imprimé cette entrée "gaucheMatch"?
Quoi? - Est-ce que le message d'erreur n'est pas assez précis pour ya? :-D (c'est presque aussi utile que le message d'erreur "non défini n'est pas une fonction") ;-)
Eh bien, si c'est vrai - que les tables internes de Sizzzle ont des ordures - alors quelque chose s'est trompé horriblement quelque part.
@Pointy: Évidemment, mais pourquoi? Et comment le réparer? Et pourquoi ne se passe-t-il que dans IE?
Eh bien, je ne pense pas avoir jamais vu cela arriver, alors je ne suis pas sûr de ce qui doit être fait. Si vous utilisez IE8, il y a deux i> modes de compatibilité pour vérifier: "Mode de navigateur" et "Mode de document". Mais cela semble être sûr que vous êtes sûr que tout est correct.
@Pointy: Euh, wow. Je l'ai corrigé. Je posterai ce qui ne va pas dans une minute.