为什么以下类似程序的o / p存在差异?
<html>
<head>
<script src="scripts/jquery-1.6.2.js"></script>
<script>
function main()
{
$("#inside").text("1234");
}
$(document).ready( function(){
main(); // 1
});
</script>
</head>
<body>
<div id="inside">abcd</div>
</body>
</html>
输出:1234
<html>
<head>
<script src="scripts/jquery-1.6.2.js"></script>
<script>
function main()
{
$("#inside").text("1234");
}
$(document).ready( main());//2
</script>
</head>
<body>
<div id="inside">
abcd
</div>
</body>
</html>
输出:abcd
为什么innerHTML不会在这里改变?请解释这种行为.. :))
答案 0 :(得分:7)
在第二个版本中,您为函数的结果调用document.ready
。要为函数本身调用它,只需省略括号:
$(document).ready(main);
答案 1 :(得分:0)
在第二个版本中,您是立即调用main()
函数,而不是将其作为回调传递 - 您传递给$(document).ready()
的内容实际上是main
的结果功能,而不是功能本身。