如何刷新DIV内容?

时间:2015-11-19 10:45:03

标签: javascript php jquery html

<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>

5 个答案:

答案 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 > *");