/ / Show / hide div with iFrame: Erreur de syntaxe, expression non reconnue # - jquery, internet-explorer, syntaxe, erreur de syntaxe, show-hide

Show / hide div with iFrame: erreur de syntaxe, expression non reconnue # - jquery, internet-explorer, syntaxe, erreur de syntaxe, show-hide

J'ai une page avec plusieurs divs cachés. Lorsque le lien correspondant est cliqué, le contenu de la div se révèle tout en masquant toute autre div ouverte. J'ai cette fonctionnalité fonctionne avec succès sans erreurs ici. C'est un simple show / hide, rien d'extraordinaire.

Maintenant, je construis une nouvelle page, ce qui est jolià peu près exactement la même chose, sauf qu’une div contient un iFrame, qui affiche une page contenant une version plus récente de jQuery (le site en question est en cours d’exécution en 1.3.2 et ne peut malheureusement pas être mis à niveau).

Quand j'essaie de quitter cette nouvelle page en cliquant surun autre lien sur le site, je vois "Erreur de syntaxe, expression non reconnue: #" dans Firefox, et dans IE8, il est indiqué Ligne: 19 Erreur: Exception levée et non interceptée, suivie de "Erreur de syntaxe, expression non reconnue: ad +" lorsque je clique sur Oui pour déboguer. Ensuite, une autre erreur me dit que "l’objet ne prend pas en charge la propriété ou la méthode" pour cette ligne:

            $("#" + $(this).attr("class")).show().siblings("div").hide();

Cela se produit-il à cause de la deuxième bibliothèque jQuery utilisée sur la page dans l'iFrame? C’est la seule chose à laquelle je puisse penser, à savoir pourquoi cela fonctionne sur une page et non sur l’autre.

Voici un violon avec le code - si vous cliquez sur le lien Accueil en haut de la page, vous pouvez voir l'erreur de syntaxe dans la console.

Voici le contenu complet de la balise scriptsur la page. Quand je supprime cela, je n’ai aucune erreur, alors il faut que ce soit quelque chose ici. J’ai remarqué le mélange de guillemets simples et doubles, mais j’ai quand même eu l’erreur lorsque j’ai essayé de la changer:

        $(document).ready(function() {
// Optional code to hide all divs
$("div" + ".menu").hide();
// Show chosen div, and hide all others
$("a").click(function ()
{
$("#" + $(this).attr("class")).show().siblings("div").hide();
});
});

Réponses:

0 pour la réponse № 1

votre erreur dans la ligne de code concernant le mauvais sélecteur: $ ("." + $ (this) .attr ("classe")). show (). frères et soeurs ("div"). hide ();

Votre déclaration sélectionne un tableau vide et cette méthode n’a aucune méthode nommée "show ()"

Ou avez-vous vraiment votre identifiant comme attribut de classe?