0

我很好奇为什么下面的代码会在页面上显示“为什么这个文本出现在加载时”?

<!DOCTYPE html>
<html lang="en">
<head>
<title>Hello title</title>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.min.js"></script>
<script>
$(function() {
    $('<h4>Why this text appears on load</h4>').click(function() {
        alert('3');
    }).insertAfter($('h1'));
});
</script>
</head>
<body>
    <h1>H</h1>
</body>
</html>
4

3 回答 3

4

DOMContentLoaded在 jquery.js 中,jQuery 通过使用事件或事件来侦听准备就绪的 DOM document.onreadystatechange。一旦 dom 准备就绪,所有传递给的回调都将.ready()被触发,之后对它的任何调用.ready()都会立即执行。

注:$(function(){})相当于$(document).ready(function(){})

于 2013-02-04T16:19:14.587 回答
2

$('<h4>Why this text appears on load</h4>')insertAfter($('h1'));document.ready()之后插入

$(function() {})document.ready(function() {})是页面中的 html 元素可用时立即执行的缩写形式。

于 2013-02-04T16:18:40.507 回答
2

$(function(){})是 的简写$(document).ready(function(){})。因此,当文档(DOM)准备就绪时,您的代码就会运行。

You create an <h4> element, assign a click handler to it, then append it after each <h1> on the page.

于 2013-02-04T16:20:05.450 回答