.click(function(){})要放到$(function(){})中
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script type="text/javascript" src="js/jquery-3.4.1.js"></script>
<script type="text/javascript">
$(function(){
$("#bt1").click(function(){
alert($(":text").val());
})
})
</script>
</head>
<body>
<input type="text" value="你好" />
<input type="button" id="bt1" />
</body>
</html>
上述代码如果.click()函数没有放到$(function(){})中,点击按钮无效,原因是dom在加载时,是从上往下加载的,当加载到.click()函数时,下面的body还没有加载,就无法完成绑定,所以.click()函数要按照上面的写法写,这样写的原理是当dom对象加载完毕后在执行。
还有一种解决方案是把script放下面
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<script type="text/javascript" src="js/jquery-3.4.1.js"></script>
</head>
<body>
<input type="text" value="你好" />
<input type="button" id="bt1" />
</body>
<script type="text/javascript">
$("#bt1").click(function(){
alert($(":text").val());
})
</script>
</html>