javascript - 更改ID后JQuery功能不起作用

标签 javascript jquery html slidedown slideup

我有一个简单的文件,其中包含一个 Jquery 脚本,如下所示:

<script type="text\javascript">     
$('.grey_title').click(function(){
        $(this).parent().find('.inner_div').slideToggle('slow');
    });
    $('#hideall').click(function(){
        $('.inner_div').slideUp('slow');
        $(this).parent().html("<span id=\"showall\">Show all Menus</span>");
    });
    $('#showall').click(function(){
        $('.inner_div').slideDown('slow');
        $(this).parent().html("<span id=\"hideall\">Hide all Menus</span>");
    });
   });
</script>
  <div><span id="hideall">Hide all Menus</span></div>

该功能在隐藏菜单时工作正常,当您将 HTML 中的 ID 更改为 showall 并将脚本更改为 slipToggle 时,但是当您单击“隐藏全部”时,它将关闭所有菜单,并且根据 Firefox,将项目更改为

<span id="showall">...</span>

但是,再次单击时它什么也不做。我可能做错了什么?

页面

最佳答案

我预计绑定(bind)会失败,因为绑定(bind)完成后没有 showall

更好的选择是toggle

您可能想要切换功能以匹配页面加载时显示的内容

DEMO HERE

$('#hideall').toggle(
  function(){
    $('.inner_div').slideUp('slow');
    $(this).text("Show all Menus");
  },
  function(){
    $('.inner_div').slideDown('slow');
    $(this).text("Hide all Menus");
  }
);

关于javascript - 更改ID后JQuery功能不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6428818/

相关文章:

javascript - 根据表单输入更改 html 内容

html - 将一个 div 滚动到另一个

javascript - 未捕获( promise )TypeError : Cannot read property 'data' of undefined React/Redux/Axios

javascript - 可编辑的 HTML 表格

javascript - 从文件加载 html 到 nightmare.js

javascript - XMLHttpRequest 开放访问被拒绝

javascript - 如何在灯箱(jquery)中加载联系表单?

jquery - 调整大小时,使 div 内的文本换行到多行

javascript - 向事件添加 JavaScript 函数调用(例如 'window.resize' ),而不是覆盖已有的内容

html - CSS 链接中的媒体 ="print"是什么意思?