2012-05-02 79 views
1
工作

請參閱此琴Jquery的顯示隱藏未在IE7

http://jsfiddle.net/qJBhD/4/

這裏,同時單擊問題1,顯示ANSWER1。

但是,如果我們打開此ie7,它不起作用。在點擊問題1時,問題2被切換。

如何解決此問題。

+5

停止使用IE 7? – adeneo

+3

對於初學者來說,那個標記是無效的。列表元素(ol和ul)只能包含li元素作爲他們的直接子元素。 –

+0

@TiesonT。你是爆炸:)沒有看到你的意見多數民衆贊成答案;) – mprabhat

回答

3

整個問題是因爲你的HTML標記。

使用本

<div style="" id="25294" class="pane"> 

    <ol> 
         <li ><span class="question">Question 1 </span> <p class="answer"> 
       Answer1</p> 

       </li> 

         <li ><span class="question">Question 2</span> <p class="answer"> 
       Answer2 
      </p> 

       </li> 

      <li ><span class="question">Question 3</span> <p class="answer"> 
       Answer3 
      </p> 

       </li> 

     </ol></div> 

經過在IE7(兼容模式正常工作) - updated fiddle: http://jsfiddle.net/qJBhD/12/

+0

如果我們這樣使用,下一個問題是切換。我需要的答案只是切換。 – designersvsoft

+0

$(this).next()。slideToggle();這是切換答案的代碼。但它切換下一個李。我需要這個用於下一個'p'標籤。爲此,我使用$(this).next('p')。slideToggle();但它不起作用 – designersvsoft

+0

@designersvsoft事實上,他將你的問題類移到了跨度,所以下一個元素現在是段落 - 這應該起作用。編輯:是的,只是驗證它。 –

1

,而不是這個<li class="question"><span></span></li><p class="answer"></p>你應該切換到<li class="question"><span></span><p class="answer"></p></li>

,改變你的腳本

$('p.answer').toggle(); 

$('.question').live('click', function() { 
     $(this).children('p.answer').slideToggle(); 
     });​