2012-05-02 45 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(); 
     });​