我有一个简单的文件,其中包含一个 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
您可能想要切换功能以匹配页面加载时显示的内容
$('#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/