JQuery и IE 8 и тогглер только открывает первый дочерний - PullRequest
2 голосов
/ 27 января 2012

У меня есть такая группа div, где у меня может быть число x, как у div ниже на странице.

Вот код div

<div class="demo1">
    <h3 class="expand2">1:00 pm – 4:00pm<br>Item 1<p></p>
<p><strong>Presented by:</strong><em><br></em></p></h3>
<div class="collapse" style="display: none; ">
<table border="0" cellpadding="0" cellspacing="0" width="600" align="center">
<tbody><tr>
<td align="left" valign="top">
<div id="speakerBlockArea">
<div id="leftcolumnSpeakerBlock"><span id="sessTitle">run by:</span></div>
<div id="rightcolumnSpeakerBlock">
</div>
</div>
</td>
</tr>
</tbody></table>
</div>
</div>

Это JQuery

$(document).ready(function() {  
    $(".collapse").slideUp();  
    $("H3.expand2").click(function() {  
    //$(this).next(".collapse:first").slideToggle("slow");
        $(".collapse").toggle($('.collapse').css('display') == 'none');  
    });  
});

Наконец-то у меня все работает с IE 8 и остальными браузерами, но теперь у меня возникла проблема, когда каждый div расширяется, когда я нажимаю только на один из них. Как я могу заставить его работать так, чтобы только ребенок расширялся, когда родитель нажимался. И чтобы он работал в IE 8/9

Тестовая ссылка с кодом в его нынешнем виде http://www.lvtravelshow.com/?page_id=2028

У меня уже есть версия кода, которая работает в Chrome / Firefox и т. Д. Но в IE возникла проблема, поэтому я остановился на приведенном выше коде.

Заранее спасибо.

1 Ответ

0 голосов
/ 11 июля 2012

Ты имеешь в виду что-то подобное?

$(document).ready(function() {  
    $(".collapse").slideUp();  
    $("H3.expand2").click(function() {  
        $(this).parent('div').find('.collapse').toggle();  
    });  
});​

$ (это) .parent ( 'DIV') найти ( 'свернуть'.) Переключение ()..; <--- эта строка предназначена для определения .collapse div выбранного родительского элемента и переключения его </p>

...