test.html的代码如下:
<html>
<head>
<script type="text/javascript" src="http://libs.baidu.com/jquery/1.9.0/jquery.js"></script>
<style type="text/css">
.bi{
background-color: blue
}
</style>
</head>
<body>
<div>
<button id="btn" style="display:block">click</button>
</div>
<div id="div2" style="height:200px;width:200px;border:1px solid red">
</div>
<script type="text/javascript">
$(function(){
$("#btn").toggle(function(){
$("#div2").addClass("bi");
},function(){
$("#div2").removeClass("bi");
}
);
});
</script>
</body>
</html>
在浏览器中打开test.html时,id是btn的元素会自动消失,toggle()中的函数自动调用完成,这是为什么?
因为你的jquery是用一个立即执行的函数表达式包括的,就是自动立即执行。
toggle()方法好像已经改了,改成只是单纯切换display的block或none。
这个是jquery官网给出的解释:
Description: Display or hide the matched elements.
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。