Javascript onload和Jquery ready()。他们在DOM上工作吗?比如桌子还是沙发?

Javascript onload和Jquery ready()。他们在DOM上工作吗?比如桌子还是沙发?,javascript,jquery,html,Javascript,Jquery,Html,我需要使用javascript脚本在div上放置一个动态内容。此div位于页面顶部,因此它将首先加载,然后再加载下面的其他内容。下面有很多东西。因此,当我将脚本置于ready()或onload时,div将为空2-3秒,同时显示其他内容。因此,我尝试将onload或ready()放在这个div中 //example div, which is on the header part of the page <div id="cont1"> something goes here <

我需要使用javascript脚本在div上放置一个动态内容。此div位于页面顶部,因此它将首先加载,然后再加载下面的其他内容。下面有很多东西。因此,当我将脚本置于ready()或onload时,div将为空2-3秒,同时显示其他内容。因此,我尝试将onload或ready()放在这个div中

//example div, which is on the header part of the page
<div id="cont1">
something goes here
</div>
//... and there are a lot of other things going down here.
还有jquery方法

<script>
$("cont1").ready(function(){
    alert("test");
});
</script>

但是这种方法有点糟糕,不是吗?那么,还有其他方法可以实现这一点吗?

onload和“ready”元事件应用于整个DOM文档,而不仅仅是任何DOM节点,这正是您在这里尝试的


我会坚持使用jQuery的
$(文档)。对于需要DOM存在的代码,ready(…)
onload
不幸地只在
窗口上


但是,我编写了一个名为jQuery的插件,当图像加载到任何容器中时,该插件将启动回调。

如果您希望在加载特定DOM元素后启动javascript操作,只需将其立即放置在元素之后,如您所述:

<div id="cont1">
something goes here
</div>
<script>
    alert("test");
</script>

这里有些东西
警报(“测试”);

有些人可能不同意,但这不是一个糟糕的设计。只要这个脚本中发生的任何事情都只与HTML文档中发生在它之前的元素相关,那么一切都应该是洁净的。DOM是按照它在文档中出现的顺序线性加载的,因此在任何情况下,在#cont1之后的脚本都不会出现在#cont1之前。如果剧本很长,你可以把它放在头文件include中的一个函数中,然后在那里调用该函数。

这有点半途而废,但是你可以在div的末尾有一个与背景颜色相同的单像素img,并在img上有一个onload。

为什么你要在div上放onload/ready事件?我需要在上面放一些动态内容div使用一些脚本。之前我将脚本放在body onload上。但速度相当慢,因为身体只有在2-3秒后才能完成装载。因此,这个div加载的内容看起来很慢。我将编辑我的问题“ready”旨在规避这种行为。因此,如果这是您想要的行为,请不要使用“就绪”功能。很好的解决方案,请记住,它会暂停页面下载,直到脚本完成运行。:-)是的。
$(document).ready()
唯一的问题是,它等待解析所有内容,这有时会导致不明显的延迟。请更具描述性,甚至最好给出代码。:)
<div id="cont1">
something goes here
</div>
<script>
    alert("test");
</script>
<div id="cont1">
something goes here
</div>
<script>
    alert("test");
</script>