在jQuery代码中隐藏/显示以下场景的问题是什么?

时间:2014-03-11 07:05:23

标签: jquery html hyperlink html-table show-hide

我在我的网站上使用PHP,Smarty,jQuery等。我正在显示一个问题列表,它是可用的答案选项和该问题的正确答案。现在每个问题都有一个超链接。当用户点击特定问题的超链接时,该特定问题的内容(选项标题,实际选项,正确答案)应该隐藏,如果它正在显示,如果内容被隐藏则应该显示。

当显示内容时,超链接应该包含文本“隐藏答案”,当隐藏内容时,超链接的文本应为“显示答案”。还有一件事是当页面最初加载时,应隐藏每个问题的上述内容(选项标题,实际选项,正确答案),并且每个问题的超链接文本应为“显示答案”。此问题列表的HTML如下:

<div id="entrancelist">
        <h2 class="heading">favourite questions</h2>
<table cellpadding="0" cellspacing="0" border="0" width="98%" style="padding:5px;" align="center">
          <tbody>

            <tr>
              <td>
                <div class="sub_name" id="" >
                  <div style="height:auto; overflow:hidden; width:100%;">
                      <table cellpadding="5" cellspacing="0" border="0" width="100%" class="manage_box"> 
                      <tr class="question_info">
                        <td valign="top" width="70%">
                          <b>Question 1.</b></td>
                          <td valign="top" align="left" width="30%">
                          <b><a href ="#" style="margin-right:0px;" class="fav_que" id="16164">Remove From Favourite Question</a></b></td></tr>
                          <tr class="question_info">
                          <td valign="top" colspan="2">
                          <br /><b>Direction : </b><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">

                          </td></tr>
                          <tr class="question_info">
                          <td valign="top"> 
                          <b>Question : </b>
                                                    <br/><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html><body><p>A 150 m long train is moving to north at a speed of 10 m/s. A parrot flying towards south with a speed of 5 m/s crosses the train. The time taken by the parrot the cross to train would be :<br></p></body></html>
                                                                            </td>
                        <td valign="bottom" align="right"><b>QUE16164</b></td>
                      </tr>
                        <tr class="question_info">                    
                          <td valign="top" colspan="2">
                          <a href="#" class="show-ans">Show Answers</a>
                          </td>
                        </tr> 
                      </td>                      
                    </tr>
                                            <tr>
                        <td colspan="2">
                          <b>Options : </b>
                        </td>
                      </tr>
                                                                  <tr>
                        <td class="options" colspan="2">                     1 .

30 s

                        </td>
                      </tr>
                                            <tr>
                        <td class="options" colspan="2">                     2 .

15 s

                        </td>
                      </tr>
                                            <tr>
                        <td class="options" colspan="2">                     3 .

8 s

                        </td>
                      </tr>
                                            <tr>
                        <td class="options" colspan="2">                     4 .

10 s

                        </td>
                      </tr>
                                            <tr>
                        <td colspan="2">
                          <b>Correct Answer :</b> 4   
                        </td>
                      </tr>              
                                      </table>
                            <table cellpadding="5" cellspacing="0" border="0" width="100%" class="manage_box"> 
                      <tr class="question_info">
                        <td valign="top" width="70%">
                          <b>Question 2.</b></td>
                          <td valign="top" align="left" width="30%">
                          <b><a href ="#" style="margin-right:0px;" class="fav_que" id="38552">Remove From Favourite Question</a></b></td></tr>
                          <tr class="question_info">
                          <td valign="top" colspan="2">
                          <br /><b>Direction : </b><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">

                          </td></tr>
                          <tr class="question_info">
                          <td valign="top"> 
                          <b>Question : </b>
                                                    <br/><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html><body><p>For figure 24, the correct relation is -<br><img height="110" src="http://www.entranceprime.com/upload_media/questions/original/1328941281_38.JPG" width="172"></p></body></html>
                                                                            </td>
                        <td valign="bottom" align="right"><b>QUE38552</b></td>
                      </tr>
                        <tr class="question_info">                    
                          <td valign="top" colspan="2">
                          <a href="#" class="show-ans">Show Answers</a>
                          </td>
                        </tr> 
                      </td>                      
                    </tr>
                                            <tr>
                        <td colspan="2">
                          <b>Options : </b>
                        </td>
                      </tr>
                                                                  <tr>
                        <td class="options" colspan="2">                     1 .

<img src="http://localhost/eprime/entprm/web/ckeditor_3.6.1/plugins/ckeditor_wiris/integration/showimage.php?formula=9329a28849bd94b3bcc49e3a4b69a595.png" class="Wirisformula" align="middle">

                        </td>
                      </tr>
                                            <tr>
                        <td class="options" colspan="2">                     2 .

<img src="http://localhost/eprime/entprm/web/ckeditor_3.6.1/plugins/ckeditor_wiris/integration/showimage.php?formula=c8c15583e8f5742625e6d80c71f3a691.png" class="Wirisformula" align="middle">

                        </td>
                      </tr>
                                            <tr>
                        <td class="options" colspan="2">                     3 .

<img src="http://localhost/eprime/entprm/web/ckeditor_3.6.1/plugins/ckeditor_wiris/integration/showimage.php?formula=af6f96bda5c2f575fc42e4751c5772fe.png" class="Wirisformula" align="middle">

                        </td>
                      </tr>
                                            <tr>
                        <td class="options" colspan="2">                     4 .

All of the above

                        </td>
                      </tr>
                                            <tr>
                        <td colspan="2">
                          <b>Correct Answer :</b> 4   
                        </td>
                      </tr>              
                                      </table>
                            <table cellpadding="5" cellspacing="0" border="0" width="100%" class="manage_box"> 
                      <tr class="question_info">
                        <td valign="top" width="70%">
                          <b>Question 3.</b></td>
                          <td valign="top" align="left" width="30%">
                          <b><a href ="#" style="margin-right:0px;" class="fav_que" id="80763">Remove From Favourite Question</a></b></td></tr>
                          <tr class="question_info">
                          <td valign="top" colspan="2">
                          <br /><b>Direction : </b><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">

                          </td></tr>
                          <tr class="question_info">
                          <td valign="top"> 
                          <b>Question : </b>
                                                    <br/><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html><body><p>Derive the expression for the time period of a simple pendulum which depends on the lenght, mass, and gravitational acceleration.</p></body></html>
                                                                            </td>
                        <td valign="bottom" align="right"><b>QUE80763</b></td>
                      </tr>
                        <tr class="question_info">                    
                          <td valign="top" colspan="2">
                          <a href="#" class="show-ans">Show Answers</a>
                          </td>
                        </tr> 
                      </td>                      
                    </tr>
                                            <tr>
                        <td colspan="2">
                          <b>Options : </b>
                        </td>
                      </tr>
                                                                  <tr>
                        <td class="options" colspan="2">                     1 .

<img src="http://localhost/eprime/entprm/web/ckeditor_3.6.1/plugins/ckeditor_wiris/integration/showimage.php?formula=b8bb97da575d595129425d5ba0cac48e.png" class="Wirisformula" align="middle">

                        </td>
                      </tr>
                                            <tr>
                        <td class="options" colspan="2">                     2 .

<img src="http://localhost/eprime/entprm/web/ckeditor_3.6.1/plugins/ckeditor_wiris/integration/showimage.php?formula=2fa6f58b13fc7b4dbb999484c01320ca.png" class="Wirisformula" align="middle">

                        </td>
                      </tr>
                                            <tr>
                        <td class="options" colspan="2">                     3 .

<img src="http://localhost/eprime/entprm/web/ckeditor_3.6.1/plugins/ckeditor_wiris/integration/showimage.php?formula=18d2b494bf784790e26d743900503669.png" class="Wirisformula" align="middle">

                        </td>
                      </tr>
                                            <tr>
                        <td class="options" colspan="2">                     4 .

<img src="http://localhost/eprime/entprm/web/ckeditor_3.6.1/plugins/ckeditor_wiris/integration/showimage.php?formula=4e3da7281a68c57642beb71a7fddd9d6.png" class="Wirisformula" align="middle">

                        </td>
                      </tr>
                                            <tr>
                        <td colspan="2">
                          <b>Correct Answer :</b> 1   
                        </td>
                      </tr>              
                                      </table>
                        </div>
              </div>
            </td>
          </tr>

        </tbody>
      </table>
</div>

我试图显示的jQuery代码 - 隐藏内容如下。虽然它对我不起作用。当我点击超链接时,问题的所有内容都会被隐藏。但是我希望在表单加载时为每个问题隐藏内容。点击超链接,它应该适用于有关的问题。所以请帮助我实现这个目标:

$(document).ready(function(){

$(".show-ans").each(function(){
$(this).parent().parent().parent().children("tr:not(:first)").hide();
$(this).html("Show Answer");    
});

$(".show-ans").click(function(e){

  e.preventDefault();
      if($(this).parent().parent().parent().children("tr:last").is(":visible"))
      {
          $(this).parent().parent().parent().children("tr:not(:first)").hide();
      $(this).html("Show Answer");
      }
      else
      {
          $(this).parent().parent().parent().children("tr:not(:first)").show();
      $(this).html("Hide Answer");
      }
  });

});

JS Fiddle链接是:http://jsfiddle.net/8cxL2/但它根据我的要求不起作用。

1 个答案:

答案 0 :(得分:3)

试试这段代码,

$(this).parent().parent().parent().children("tr:not(:first)").next().next().hide();

代替,

$(this).parent().parent().parent().children("tr:not(:first)").hide();

看到这句好话DEMO

我希望这会对你有帮助......