清除div内容

时间:2012-04-05 21:45:37

标签: php jquery mysql

$(function() {
    setInterval(function() {
        $.get("refresh.php", function(result) {
            $('#response').empty()
            .hide()
            .html(result)
            $("#response").append(result)
            .fadeIn("slow");
        });
    }, 5000);
});

实际上我的脚本在 refresh.php 中每隔5秒点击一次refresh.php我从mysql数据库中获取数据并创建一个模板,如:

<table>
<tr><td>Name<td><td>$fetch['name']</td></tr>
</table>

我在firebug上检查了我的refresh.php仅在5秒后发送响应一次但是在所有浏览器上它都显示了两次结果:

<table>
    <tr><td>Name<td><td>$fetch['name']</td></tr>
    </table>
<table>
    <tr><td>Name<td><td>$fetch['name']</td></tr>
    </table>

2 个答案:

答案 0 :(得分:4)

它会将结果显示两次,因为您将其放在那里两次:首先使用html,然后使用append

$(function() {
    setInterval(function() {
        $.get("refresh.php", function(result) {
            $('#response').empty()
            .hide()
            .html(result)                 // <==== Here
            $("#response").append(result) // <==== And here
            .fadeIn("slow");
        });
    }, 5000);
});

html用您提供的标记(或元素[s])替换元素的内容(在使用之前不需要empty)。 append 追加您提供给元素的标记(或元素[s])。

你想要一个或另一个。我会选择html

$(function() {
    setInterval(function() {
        $.get("refresh.php", function(result) {
            $('#response')
                .hide()
                .html(result)
                .fadeIn("slow");
        });
    }, 5000);
});

答案 1 :(得分:-1)

使用以下

$.get("refresh.php", function(result) {

    $("#response").html(result);
});