Я ударил себя по голове, и похоже, что ни одно из решений не помогает этому коду:
$(".showSomething").live('click', function(e) {
e.preventDefault();
var $container = $(this).parent().parent().next("div");
var title = $container.is(':visible') ? "Show" : "Hide" ;
$container.slideToggle('slow');
$(this).text(title);
});
Когда я нажимаю ссылку Show
на странице, она действительно меняется на Hide
, но это так. Элемент div, который должен переключаться, не отображается, и ссылка также получает блокировки в этом состоянии Hide
.
Любой совет будет принят с благодарностью.
РЕДАКТИРОВАТЬ Вот как выглядит HTML:
<div class="something" id="asdf">
<div class="anotherthing">
<span class="showSomething">Info</span>
</div>
</div>
<div class="details">
This Should Get Shown
</div>
ОБНОВЛЕНИЕ : Я думаю, что есть некоторая подлинная проблема с IE8 по этому вопросу. Я смог заставить его работать, переключившись на следующее вместо «slideToggle»
var title = "";
if( $container.is(':visible') )
{
title = "Show";
$container.slideUp('slow');
}
else
{
title = "Hide";
$container.slideDown('slow');
}