Javascript onload和Jquery ready()。他们在DOM上工作吗?比如桌子还是沙发?
我需要使用javascript脚本在div上放置一个动态内容。此div位于页面顶部,因此它将首先加载,然后再加载下面的其他内容。下面有很多东西。因此,当我将脚本置于ready()或onload时,div将为空2-3秒,同时显示其他内容。因此,我尝试将onload或ready()放在这个div中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 <
//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>