在别人的Javascript之后使用jQuery
场景:我有一个Javascript生成的网页,是别人很久以前写的,我想用jQuery来完善它。我的目标是在Javascript生成html之后,通过对该html使用一些jQuery调用来清理其他人生成的html 这比直接修改他人的Javascript要简单得多,至少目前是这样 我的第一次尝试是在HTML头的末尾添加一个脚本标记,用于调用所需的jQuery代码在别人的Javascript之后使用jQuery,javascript,jquery,html,events,dom,Javascript,Jquery,Html,Events,Dom,场景:我有一个Javascript生成的网页,是别人很久以前写的,我想用jQuery来完善它。我的目标是在Javascript生成html之后,通过对该html使用一些jQuery调用来清理其他人生成的html 这比直接修改他人的Javascript要简单得多,至少目前是这样 我的第一次尝试是在HTML头的末尾添加一个脚本标记,用于调用所需的jQuery代码 <script src="/someone-elses-js-generator.js" /> <scr
<script src="/someone-elses-js-generator.js" />
<script>
$(document).ready(function() {
alert('the other stuff ran, now do the jquery cleanup');
$('.foobar').css("display","none");
$('.doobar').css("display","inline");
/// ... so on and so forth ...
});
</script>
问题:上面的操作很好,但是当我注释掉警告消息时。jquery不再执行清理。显然,现在发生的是alert msg框延迟了后续清理代码的运行,这很好,但是如果没有alert,jQuery似乎在其他javascript完成其输出之前运行
问:有没有一种方法可以让jQuery清理代码在js生成器代码之后运行,而不必在其中放入警报框?您可以将
$(document).ready(function() { ... });
在/someone-elses-js-generator.js的末尾或此文件中操作逻辑的末尾。您可以将
$(document).ready(function() { ... });
在/someone-elses-js-generator.js的末尾或此文件中操作逻辑的末尾。您可以使用以下JavaScript函数将清理代码延迟到一定程度:
setTimeout('JS Cleanup Code', number_of_miliseconds);
通过使用以下JavaScript函数,您可以将清理代码延迟一段时间:
setTimeout('JS Cleanup Code', number_of_miliseconds);
您还可以尝试在一秒钟后使用setTimeout调用清理代码 您还可以尝试在一秒钟后使用setTimeout调用清理代码 我认为您可能需要了解另一个编码员的代码被延迟的原因。如果它没有立即运行,并且没有理由不能运行,那么您可以将他的功能包装在匿名函数中,并立即运行它
(function() {
/*
Other coder's code here
*/
})(); //run this function and the code inside it immediately.
我想你可能需要看看为什么其他程序员的代码被延迟了。如果它没有立即运行,并且没有理由不能运行,那么您可以将他的功能包装在匿名函数中,并立即运行它
(function() {
/*
Other coder's code here
*/
})(); //run this function and the code inside it immediately.
也许$document.ready不是正确的方法
另一个脚本是如何触发的?如果它在window.onload上,那么它可能只有在jQuery启动之后才会启动
您希望等待另一个脚本停止运行。最好的方法可能是将jQuery封装在函数中,并在确定完成后从另一个脚本调用它。也许$document.ready不是正确的方法
另一个脚本是如何触发的?如果它在window.onload上,那么它可能只有在jQuery启动之后才会启动
您希望等待另一个脚本停止运行。最好的方法可能是将jQuery封装在函数中,并在确定完成后从另一个脚本调用它。不确定它是否有用,但尝试使用窗口而不是文档。windows onready是在文档之后调用的。不确定它是否有用,但请尝试使用windows而不是文档。在文档之后调用windows onready。