我的问题:为什么函数调用$(“#p1”)。click()不模拟用户点击“p1”?即“$(this).hide()根本不执行。
但是如果我在$(document).ready(function(){});中注册click事件,那么$(“#p1”)。click()有效!为什么呢?
<!DOCTYPE html>
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script>
$("#p1").click(function(){
$(this).hide();
});
$(document).ready(function(){
$("#p1").click(); <== this line doesn't work! why?
});
</script>
</head>
<body>
<p id="p1">If you click on me, I will disappear.</p>
</body>
</html>
答案 0 :(得分:3)
这是因为当您将click事件附加到它时,未加载元素#p1
。使用:
$(document).ready(function(){
$("#p1").click(function(){
$(this).hide();
});
$("#p1").click();
});
答案 1 :(得分:0)
对我而言,它适用于以下代码
$(document).ready(function(){
$("#p1").click(function(){
$(this).hide();
});
});