当我使用使用原型/jquery 将数据“附加”到现有元素的方法时,将此类逻辑包装在document.observe("dom:loaded", foo)
/$(document).ready(foo)
函数中是一种好习惯吗?
问问题
410 次
2 回答
2
如果没有就绪/加载事件,您的代码将不会触发,除非它位于页面底部。<head>
这是因为从该部分(在正文之前执行)读取代码时,这些元素不存在。
试试这个:
$("body").animate({'background-color', '#ff0000'}, 2000);
然后试试这个:
$(document).ready(function() {
$("body").animate({'background-color', '#ff0000'}, 2000);
});
你会明白我的意思:)
于 2010-07-06T10:02:00.993 回答
1
好吧,考虑在 DOM/window 准备好之前引用元素将不起作用,除非它是html
元素,或者你直接在标记中的元素之后注入它,是的,这是真正完成它的唯一方法。
<!doctype html>
<html>
<head>
<script>alert( document.getElementById('foo') );</script>
</head>
<body>
<p id="foo"></p>
</body>
</html>
以上将失败并返回null。
于 2010-07-06T09:57:34.990 回答