为什么click()函数不起作用?

时间:2014-10-16 14:49:46

标签: jquery

我的问题:为什么函数调用$(“#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>

2 个答案:

答案 0 :(得分:3)

这是因为当您将click事件附加到它时,未加载元素#p1。使用:

$(document).ready(function(){
 $("#p1").click(function(){
    $(this).hide();
 });  
 $("#p1").click();         
});

答案 1 :(得分:0)

对我而言,它适用于以下代码

$(document).ready(function(){
    $("#p1").click(function(){
        $(this).hide();
    });
});