javascript - 为什么 show() 只工作一瞬间?

标签 javascript jquery

我试图让列表项在点击时出现。当我使用 hide() 方法时,它们开始隐藏,但是当我添加 show() 方法时,它只工作大约一毫秒。不确定是不是因为它总是默认回到原来的设置?我基本上只想点击主列表 <a>在这种情况下,主列表并显示其他两个

$(function() {
  $('.sublist').hide();
  $(".mainlist").on('click', function() {
    $('.sublist').show();
  });
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<ul>
  <li>
    <a href="" class="mainlist">Main List</a>
    <li>
      <a href="" class="sublist">Sublist One</a>
    </li>
    <li>
      <a href="" class="sublist">Sublist Two</a>
    </li>
  </li>
</ul>

最佳答案

当您单击链接时,整个页面会刷新。这意味着您的代码再次运行:

$('.sublist').hide();

你应该做的是防止这样的默认行为:

$(".mainlist").on('click', function(event) {
      $('.sublist').show();
      event.preventDefault();
    });

关于javascript - 为什么 show() 只工作一瞬间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52648872/

相关文章:

javascript - Formik Material UI React - 自动完成 - 不受控制到受控状态

javascript - 使用 jQuery 从表单外部的链接提交表单

javascript - jquery 跳过具有特定 css 类的表

javascript - 删除行 Jtable Jquery

javascript - onscroll 函数执行多个条件语句的问题

javascript - 如何与 p5js 绘制循环并行运行代码?

javascript - 动态更改 APEX_ITEM。 Oracle 顶点中的 TEXT 值

javascript - 使用 jsPDF 将 HTML 字符串渲染为 PDF 文档

jquery - 悬停时图像放大,div 框中的内容附加到图像

javascript - 动态jquery ui可排序 block 的索引/位置?