2013-08-01 6 views
0

У меня есть страница с несколькими скрытыми div. Когда нажимается соответствующая ссылка, содержимое div обнаруживается, скрывая любые другие div, которые могли быть открыты. У меня эта функциональность успешно работает без ошибок here. Это простое шоу/скрыть, ничего необычного.Показать/скрыть div с iFrame: Ошибка синтаксиса, непризнанное выражение #

Теперь я создаю новую страницу, которая почти такая же, за исключением того, что один div имеет iFrame в нем, который вытягивает страницу с более новой версией jQuery (на этом сайте работает 1.3 .2 которые я не могу обновить, к сожалению).

Когда я пытаюсь покинуть эту новую страницу, щелкнув другую ссылку на сайте, я вижу «Синтаксическая ошибка, нераспознанное выражение: #» в Firefox, а в IE8 говорится: Линия: 19 Ошибка: Исключение брошено, а не после чего следует «Синтаксическая ошибка, нераспознанное выражение: ad +», когда я нажимаю «Да» для отладки. Тогда я получаю другую ошибку, говорящую мне «Объект не поддерживает свойство или метод» для этой линии:

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

это происходит из-за второй библиотеку JQuery используется на странице в плавающем фрейме? Единственное, о чем я могу думать, почему он работает на одной странице, а не другой.

Here is a fiddle с кодом - если вы нажмете ссылку «Главная» в верхней части страницы, вы увидите синтаксическую ошибку в консоли.

Полное описание тега скрипта на странице. Когда я удаляю это, у меня нет ошибок, поэтому здесь должно быть что-то. Я заметил смесь одиночных и двойных кавычках, но все же получил ошибку, когда я попытался изменить его к одному или другому:

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

ответ

0

свою ошибку вбрасывания строки кода GOR неправильный селектор: $ (». "+ $ (this) .attr (" class ")). show(). siblings ('div'). hide();

Ваше заявление выбирает пустой массив и это doenst есть любой метод под названием «шоу()»

Или вы действительно иметь свой идентификатор в качестве атрибута класса?

+0

Не будет ли другая страница вызывать ошибку, так как это тот же скрипт? – surfbird0713

+0

Да, это что-то бросит, но вы не увидите его там. Как консольный журнал – konsti

Смежные вопросы