一个标签的内容显示不正确

时间:2018-06-22 08:16:37

标签: jquery html

在点击简介的我的代码输出中,关于或免责声明可以正常运行。它提供所需的输出。但是,当我单击“已注册的学生”时,它没有提供div内的数据。

<ul id="info-nav">
  <li><a href="#intro">Intro</a></li>
  <li><a href="#about">About Us</a></li>
  <li><a href="#disclaimer">Disclaimer</a></li>
  <li><a href="#enrolledStudents">View Enrolled Students</a></li>
</ul>
<div id="info">
  <div id="intro">
    Welcome to <strong>Student Module Application</strong>....
  </div>
  <div id="about">
    Student Module Application was founded in early days when …
  </div>
  <div id="disclaimer">
    Disclaimer! This service is not intended for the those …
  </div>
  <div id="enrolledStudents">
    <div id="bio">
      <h2>Enrolled Students...</h2>

      <button id="btn1"><h3>Hamza</h3></button>
      <p id="panel1">Content about Hamza</p>

      <button id="btn2"><h3>Mohsin</h3></button>
      <p id="panel2">Content about Mohsin</p>

      <button id="btn3"><h3>Hammad</h3></button>
      <p id="panel3">Content about Hammad</p>
    </div>
  </div>

我的脚本标签是这个........除我单击外,其他所有东西都可以正常工作       入学的学生没有给学生提供离子生物学的详细信息。

  <script>
        $('#info div').hide();

        $('#info-nav li').click(function(e) 
           {
              $('#info div').hide();
              $('#info-nav .current').removeClass("current");
              $(this).addClass('current');
              var clicked = $(this).find('a:first').attr('href');
              $('#info ' + clicked).fadeIn('fast');
              e.preventDefault();
           }).eq(0).addClass('current');
   </script>

2 个答案:

答案 0 :(得分:0)

您只需要将js代码更改为此:https://codepen.io/creativedev/pen/OEZxQm

在这里,您只需要隐藏立即div,以便> 选择直接子对象并将其隐藏,这样才能完美使用!!

echo mysqli_num_rows($shiftentries);

空间选择器('#info div')将选择所有深层后代,而大于>选择器('#info> div')仅将全部直系后代。

答案 1 :(得分:0)

代码$('#info div').hide()将ID为div的所有div隐藏在info中,因此,当您单击View Enrolled Students时,会有多个孩子{{1} }处于隐藏状态,这就是为什么您看不到仅div

可见的

您可以做的是向所有父$('#info ' + clicked).fadeIn('fast');添加一个新类linkedDiv,它是div链接的内容。并仅隐藏/显示这些a

div
$('.linkedDiv').hide(); 
$('#info-nav li').click(function(e) {
  $('.linkedDiv').hide();
  $('#info-nav .current').removeClass("current");
  $(this).addClass('current');
  var clicked = $(this).find('a:first').attr('href');
  $('#info ' + clicked).fadeIn('fast'); 
  e.preventDefault(); 
}).eq(0).addClass('current');
.current a{
  color: green;
}