<script>
$("#btn1").click(function() {
$("#logpop").hide("slow");
});
</script>
<body>
<div id="logpop">
<div class="logpop_box">
<div class="form">
<input class="input_box" name="email" type="text" placeholder="Woosuk"/> <br/><br/>
<input class="input_box" name="pass" type="password" placeholder="******"/> <br/>
<button id="btn1">Login</button>
</div>
</div>
</div>
当我点击按钮时,我想让div消失。 但它并没有消失。 任何想法
答案 0 :(得分:6)
您的JavaScript需要处于文档就绪功能中:
$(document).ready(function() {
$("#btn1").click(function() {
$("#logpop").hide("slow");
});
});
目前,您的点击处理程序在创建DOM之前正在执行,因此无法附加。
答案 1 :(得分:3)
您应该在文档就绪块中注册您的点击处理程序:
$(function(){
$("#btn1").click(...);
});
您的脚本在元素存在之前运行,因此没有注册点击处理程序。
答案 2 :(得分:2)
除了其他答案所说的,你不能选择一个尚未解析的元素,因为浏览器按照它在解析源文档时出现的顺序执行内联JavaScript - 所以在这一点上你的代码运行没有解析过任何元素。有两种方法可以解决这个问题:
$(document).ready()
处理程序中(或使用旧式onload
事件处理程序)。</body>
标记之前。