我有一个简单的文件,其中有一个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并将脚本更改为slideToggle时,但是当您单击Hide all时,它将全部关闭,并且根据Firefox,将项更改为
<span id="showall">...</span>

但是,当再次点击时,它什么也不做。我会做错什么?
那一页

最佳答案

我希望绑定失败,因为绑定完成时没有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/

10-10 09:30
查看更多