如何刷新 DIV 内容


How do I refresh a DIV content?

<div id='here'></div>

我正在尝试刷新一堆div 中的某个div。div内容基本上是由PHP与MySQL数据库的数据一起生成的,此外还有许多变量是在XMLHttpRequest的帮助下发送的。

这个想法是重新加载/刷新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)} 

这样我就可以在点击中使用它:

<a onclick='reloadDIV ();'>reload div</a>

要重新加载页面的一部分,您可以使用带有当前 url 的 jquerys load并指定所需的片段,该片段与调用 load 的元素相同,在本例中#here

function updateDiv()
{ 
    $( "#here" ).load(window.location.href + " #here" );
}
  • 不要忽略加载元素选择器中的空间:+ " #here"

此函数可以在间隔内调用,也可以附加到单击事件

对于div 刷新而不在具有相同 id 的div 中创建div,您应该在函数中使用它

$("#yourDiv").load(" #yourDiv > *");

完整的工作代码如下所示:

<script> 
$(document).ready(function(){
setInterval(function(){
      $("#here").load(window.location.href + " #here" );
}, 3000);
});
</script>
<div id="here">dynamic content ?</div>

自装div 容器每 3 秒刷新一次。

您可以

执行以下操作来重新加载<div>元素:

$('#yourDiv').load('#yourDiv > *')

确保:使用id而不是class。另外,请记住粘贴: <script src="https://code.jquery.com/jquery-3.5.1.js"></script> HTML 文件的<head>部分中(如果尚未(。在相反的情况下,它不起作用。

您可以使用 jQuery 通过简单的 $.get 方法来实现此目的。 .html像innerHtml一样工作,并替换div的内容。

$.get("/YourUrl", {},
      function (returnedHtml) {
      $("#here").html(returnedHtml);
});

并使用javascript setInterval方法调用它。