/ / Pokaż / ukryj div z iFrame: Błąd składni, nierozpoznane wyrażenie # - jquery, Internet Explorer, składnia, składnia-błąd, pokaż-ukryj

Pokaż / ukryj div za pomocą iFrame: Błąd składni, nierozpoznane wyrażenie # - jquery, Internet Explorer, składnia, błąd składni, show-hide

Mam stronę z wieloma ukrytymi elementami div. Po kliknięciu odpowiedniego łącza zawartość div ujawnia się podczas ukrywania innych elementów div, które mogły zostać otwarte. Ta funkcja działa poprawnie bez błędów tutaj. To proste show / hide, nic nadzwyczajnego.

Teraz buduję nową stronę, która jest ładnaDokładnie to samo, z wyjątkiem jednego elementu div zawierającego element iFrame, który pobiera stronę z nowszą wersją jQuery (na stronie jest uruchomiona wersja 1.3.2, której niestety nie mogę zaktualizować).

Kiedy próbuję opuścić tę nową stronę, klikającinny link na stronie, widzę "Błąd składni, nierozpoznane wyrażenie: #" w Firefoksie, aw IE8, mówi Linia: 19 Błąd: Wyjątek został zgłoszony i nie został przechwycony, a następnie "Błąd składni, nierozpoznane wyrażenie: reklama +" po kliknięciu przycisku Tak w celu debugowania. Następnie pojawia się kolejny błąd informujący, że "Obiekt nie obsługuje właściwości lub metody" dla tej linii:

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

Czy dzieje się tak z powodu drugiej biblioteki jQuery używanej na stronie w iFrame? Jest to jedyna rzecz, o której mogę pomyśleć, dlaczego działa na jednej stronie, a nie na drugiej.

Oto skrzypce z kodem - jeśli klikniesz link Strona główna u góry strony, zobaczysz błąd składni w konsoli.

Oto pełna zawartość tagu skryptuna stronie. Kiedy to usuwam, nie mam żadnych błędów, więc musi to być coś tutaj. Zauważyłem połączenie pojedynczych i podwójnych cytatów, ale nadal mam błąd, gdy próbowałem zmienić to na jedno lub drugie:

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

Odpowiedzi:

0 dla odpowiedzi № 1

twój błąd wyświetla linię kodu i nieprawidłowy selektor: $ ("." + $ (this) .attr ("class")). show (). rodzeństwo ("div"). hide ();

Twoja instrukcja wybiera pustą tablicę, a ta ma jakąkolwiek metodę o nazwie "show ()"

Czy naprawdę masz swój identyfikator jako atrybut klasy?