2010-09-10 2 views
0

http://dev.mindboiler.lv/ (вы будете перенаправлены интро страницы, просто нажмите на логотип, чтобы попасть в реальный сайт)JQuery скрипт не в IE и Opera

Это сайт я сейчас работаю. Вы можете изменить язык на английский, чтобы понять его немного лучше, но в любом случае он полон фиктивного текста.
Есть эти Read more ссылки, при нажатии, выполните следующие действия JQuery:

$('.content-item .readmore').toggle(function() { 
    parent = $(this).parent(); 
    $(parent).children('div.next').fadeIn(); 
    $(this).html("Read less »"); 
}, function() { 
    parent = $(this).parent(); 
    $(parent).children('div.next').fadeOut(); 
    $(this).html("Read more »"); 
}); 

Firefox, Safari, Chrome работает как шарм, но Internet Explorer (все версии) и Opera не хочет, чтобы выполнить его должным образом.

Любые решения для работы в IE и Opera?

P.S. Не гуру JavaScript/jQuery, поэтому скрипт выглядит как дерьмо.

Заранее благодарен!

+0

Иногда, если что-то не работает в IE _AND_ Opera, это признак того, что ваша структура разметки не так, а не сценарий (если он только IE не работает, это, вероятно, свидетельствует о том, что вы пишете отличный, совместимый со стандартами код.) Вы проверяли страницу? http://validator.w3.org –

ответ

1

Похоже, что ваш <div class="next"> является родным братом для вашего <div class="content-item">, так почему бы вам не беспокоиться о функции parent().

Упростить его на это и посмотреть, если он работает:

$('.content-item .readmore').toggle(function() {   
    $(this).next().fadeIn(); 
    $(this).html("Read less &raquo;"); 
}, function() { 
    $(this).next().fadeOut(); 
    $(this).html("Read more &raquo;"); 
}); 
+0

Поскольку 'Read more' link является последним дочерним элементом' .content-item', он не будет работать с '.next()', но да, изменив его на '.prev() 'сделал трюк! Спасибо за указание в правильном направлении, принято! – jolt

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