/ / Div mit iFrame anzeigen / verbergen: Syntaxfehler, unbekannter Ausdruck # - jquery, Internet-Explorer, Syntax, Syntaxfehler, show-hide

Div mit iFrame anzeigen / verbergen: Syntaxfehler, nicht erkannter Ausdruck # - jquery, Internet-Explorer, Syntax, Syntaxfehler, show-hide

Ich habe eine Seite mit mehreren versteckten Divs. Wenn auf den entsprechenden Link geklickt wird, zeigt sich der Div-Inhalt selbst, während andere möglicherweise geöffnete Divs ausgeblendet werden. Ich habe diese Funktionalität erfolgreich und fehlerfrei Hier. Es ist ein einfaches Zeigen / Verstecken, nichts Besonderes.

Jetzt baue ich eine neue Seite auf, die hübsch istgenau das gleiche, außer dass ein div einen iFrame enthält, der auf einer Seite mit einer neueren jQuery-Version abspielt (die betreffende Site läuft 1.3.2, was ich leider nicht aktualisieren kann).

Wenn ich versuche, diese neue Seite durch Klicken auf zu verlassenEin weiterer Link auf der Site, ich sehe "Syntaxfehler, nicht erkannter Ausdruck: #" in Firefox und in IE8 steht Zeile: 19 Fehler: Ausnahme ausgelöst und nicht abgefangen, gefolgt von "Syntaxfehler, nicht erkannter Ausdruck: Anzeige +", wenn ich zum Debuggen auf "Ja" klicke. Dann erhalte ich eine weitere Fehlermeldung, dass "Objekt unterstützt keine Eigenschaft oder Methode" für diese Zeile:

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

Liegt dies an der zweiten jQuery-Bibliothek, die auf der Seite im iFrame verwendet wird? Es ist das einzige, woran ich denken kann, warum es auf einer Seite funktioniert und nicht auf der anderen.

Hier ist eine Geige mit dem Code - Wenn Sie oben auf der Seite auf den Link Home klicken, wird der Syntaxfehler in der Konsole angezeigt.

Hier ist der vollständige Inhalt des Skript-Tagsauf der Seite. Wenn ich das entferne, habe ich keine Fehler, also muss es hier etwas sein. Ich habe die Mischung aus einfachen und doppelten Anführungszeichen bemerkt, aber immer noch die Fehlermeldung erhalten, als ich versuchte, sie in ein oder das andere zu ändern:

        $(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();
});
});

Antworten:

0 für die Antwort № 1

Ihr Fehler in der Codezeile oder der falsche Selector: $ ("." + $ (this) .attr ("class")). show (). Geschwister ("div"). hide ();

Ihre Anweisung wählt ein leeres Array aus und dies hat keine Methode namens "show ()"

Oder haben Sie wirklich Ihre ID als Klassenattribut?