有人能告诉我为什么我不能单独添加处理程序,而是必须执行下面的操作才能使其工作?将事件添加到jQuery
我的问题是为什么我应该添加隐藏$(document).ready()
以使其工作的段落的代码。
<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<script>
$(document).ready(function(){
alert('test');
});
</script>
<script>
$("p").click(function(){
$(this).hide();
});
</script>
</head>
<body>
<p>If you click on me, I will disappear.</p>
<p>Click me away!</p>
<p>Click me too!</p>
</body>
</html>
工作代码 -
<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<script>
$(document).ready(function(){
$("p").click(function(){
$(this).hide();
});
});
</script>
</head>
<body>
<p>If you click on me, I will disappear.</p>
<p>Click me away!</p>
<p>Click me too!</p>
</body>
</html>
敢肯定这是因为DOM是不是在装
–在第一代码片段中没有定义点击事件document.ready函数 – Maharshi
还有另外一个可以工作的选项:将JS放在主体的末尾,放在要尝试引用的元素之后。 – nnnnnn