<div id='here'></div>
我正在尝试刷新一堆div中的某个div。除了在XMLHttpRequest的帮助下发送的许多变量之外,div内容基本上由PHP以及来自MySQL数据库的数据生成。
这个想法是重新加载/刷新div本身而不是加载php文件或用.text
或.html
覆盖它。在这种情况下,我无法使用.load('file.php')
我尝试过:
<script type='text/javascript'>
function updateDiv()
{
document.getElementById("here").innerHTML = document.getElementById("here").innerHTML ;
}
</script>
和(每3秒刷新一次):
$(document).ready(function () {
setInterval(function () {
$('#here').load('#here'));
}, 3000);
});
理想情况下,我会要求:
function reloadDIV () {document.getElementById("here").innerHTML.reload}
function reloadDIV () {$('#here').load(self)}
以便我可以在onClick中使用它:
<a onclick='reloadDIV ();'>reload div</a>
答案 0 :(得分:20)
要重新加载页面的一部分,您可以将jquerys load
与当前url一起使用并指定所需的片段,这与调用load
的元素相同,在这种情况下#here
:
function updateDiv()
{
$( "#here" ).load(window.location.href + " #here" );
}
此功能可以在一个间隔内调用,也可以附加到点击事件
答案 1 :(得分:6)
完整的工作代码如下:
<script>
$(document).ready(function(){
setInterval(function(){
$("#here").load(window.location.href + " #here" );
}, 3000);
});
</script>
<div id="here">dynamic content ?</div>
每3秒刷新一次自我重装的div容器。
答案 2 :(得分:1)
如果您打算重新加载 $("#yourDiv").load(" #yourDiv > *");
,这个 <div>
是最好的
确保使用 id
而不是 class
。另外,请记住将 <script src="https://code.jquery.com/jquery-3.5.1.js"></script>
粘贴到 html 文件的 <head>
部分(如果您尚未粘贴)。在相反的情况下,它将不起作用。
答案 3 :(得分:0)
您可以使用jQuery通过简单的$.get
方法实现此目的。 .html
像innerHtml一样工作,并替换div的内容。
$.get("/YourUrl", {},
function (returnedHtml) {
$("#here").html(returnedHtml);
});
并使用javascript setInterval
方法调用此方法。
答案 4 :(得分:0)
要在不使用相同ID的情况下在内部创建div的情况下刷新div,则应在函数内部使用它
$("#yourDiv").load(" #yourDiv > *");