Javascript id为的Div存在,但jQuery无法识别
我有一个页面,每5秒将另一个页面加载到一个div中。 我使用jQuery将其加载到document.ready上,它可以工作,但在调用setInterval函数时不会每5秒重新加载一次。 我遇到错误Javascript id为的Div存在,但jQuery无法识别,javascript,jquery,setinterval,Javascript,Jquery,Setinterval,我有一个页面,每5秒将另一个页面加载到一个div中。 我使用jQuery将其加载到document.ready上,它可以工作,但在调用setInterval函数时不会每5秒重新加载一次。 我遇到错误“无法读取null的属性'load'” <div id="wallboard"></div> <script type="text/javascript"> $(document).ready(function(){ //Put in
“无法读取null的属性'load'”
<div id="wallboard"></div>
<script type="text/javascript">
$(document).ready(function(){
//Put in initial data THIS WORKS
$('#wallboard').load('refresh_wall2_test.php');
//Refresh wallboard div every 5 seconds THIS DOESN'T WORK
$(function(){
window.setInterval(
function(){
$('#wallboard').load('refresh_wall2_test.php');
} ,5000);
});
});
</script>
$(文档).ready(函数(){
//输入初始数据,这样就行了
$('#wallboard').load('refresh_wall2_test.php');
//每5秒刷新一次墙板分区这不起作用
$(函数(){
window.setInterval(
函数(){
$('#wallboard').load('refresh_wall2_test.php');
} ,5000);
});
});
试试看
在document.ready之外定义函数,并在其中调用setInterval
$(document).ready(function(){
setInterval(foo(page), 5000);
});
var foo = function(page) {
$('#wallboard').load(page);
};
这对我来说非常合适。我将setInterval函数放在一个变量上,因此如果需要,可以
clearInterval
$(文档).ready(函数(){
“严格使用”;
//将窗口加载到就绪状态。。。
$('#wallboard').load('home.php');
//每5分钟刷新墙板分区
window.reloadDiv=window.setInterval(
函数(){
$('#wallboard').load('refresh_wall2_test.php');
}, 5000);
});代码>
您首先不需要setInterval
。您需要做的就是等待第一次加载完成,在complete回调中,执行setTimeout
,以设置的延迟重新加载div
。希望有帮助
$(document).ready(function() {
//Store the reference
var $elem = $('#wallboard');
//Create a named self executing function
(function loadPage() {
$elem.load('refresh_wall2_test.php', function() {
//When the request is complete, do a timeout which calls the function again.
window.setTimeout(function() {
loadPage();
}, 5000);
});
}());
});
$(function()…
是$(document).ready()的缩写..
。不要调用它两次。setInterval
将在早期调用尚未完成时继续对ajax调用进行排队。但问题看起来确实是refresh\u wall2\u test.php
。即使选择器与任何元素都不匹配,jQuery也不会返回null
,所以您确定$仍然引用jQuery吗?顺便说一句,在哪个浏览器上可以使用y您是否收到此错误消息?听起来您加载的脚本实际上包含prototypejs或任何其他库,覆盖$并返回nullA.Wolff就是这样我发现我的refresh_wall2_test.php文件包含prototype且存在冲突!我仍然得到“无法读取null的属性'load'”该页面存在吗?是的,该页面存在,LShetty的答案有效,不知道为什么我仍然得到“无法读取属性'load'的null”我猜你在页面的其他地方有错误。使用我在.html文件中单独提供的脚本将产生正确的结果。你能发布你的全部(或几乎全部)吗文档?页面根本不刷新对不起,我在最后加了一个括号。这个解决方案对我很有效。效果很好,谢谢:)@swdee这真让人困惑,这将如何解决您关于错误消息的问题。听起来您在加载的脚本中覆盖了$alias,可能是使用jQuery noConflict方法。我发现我的refresh_wall2_test.php文件包含原型,并且与jQuery冲突!但仍不确定上述问题是如何解决的
$(document).ready(function() {
//Store the reference
var $elem = $('#wallboard');
//Create a named self executing function
(function loadPage() {
$elem.load('refresh_wall2_test.php', function() {
//When the request is complete, do a timeout which calls the function again.
window.setTimeout(function() {
loadPage();
}, 5000);
});
}());
});