jquery持久地替换div的内容

时间:2014-03-18 17:18:35

标签: javascript jquery html

我试图通过轮询和jQuery每隔50秒将div标记的内容替换为某个值。我想访问更新的div的值,因此我可以将请求保存到后端。

我的问题是,一旦内容被替换,浏览器就会正确显示它,但HTML保持与开头相同。我担心这是一个相当基本的问题,但我对此非常好奇。

我在这里准备了一个例子来说明问题:http://jsfiddle.net/LJgN6/7/

你可以在JSfiddle的上下文中看到它来检查最终的HTML:http://jsfiddle.net/LJgN6/7/show

我想在最终HTML 中找到一种方法(即右键单击,查看页面源代码):

  • num 1.1已替换为num 1.2
  • num 2.1已替换为num 2.2
  • ...

3 个答案:

答案 0 :(得分:0)

您在“查看源”窗口中看到的代码是在允许任何客户端修改DOM之前发送到浏览器的HTML。如果您想查看源,因为它是通过你的javascript修改,你需要检查DOM(IE F12,Firebug等)

如果您需要访问之前插入的此值,则使用javascript访问元素的内容(即。$('#number-2').text())应该返回其当前在DOM中的内容。

编辑:纠正错字

答案 1 :(得分:0)

看起来你已经熟悉jQuery所以我会继续前进到非常有用的API并看看AJAX调用。那里有很多文档可以帮到你。

http://api.jquery.com/jQuery.ajax/

答案 2 :(得分:0)

这是一个想法。看看我的fiddle of your problem

$(document).ready(function(){
    $('#number-1').html("num " + 1.1);   
    $('#number-2').html("num " + 2.2);
    $('#number-3').html("num " + 3.3);
    $('#number-4').html("num " + 4.4);

    setInterval(function(){newInfo();}, 3000);

});

function newInfo(){
    var firstDiv = $('#number-1');
    var secDiv = $('#number-2');
    var thdDiv = $('#number-3');
    var frthDiv = $('#number-4');
    var firstDivInfo = firstDiv.text().substr(4);
    var secDivNewInfo = firstDiv.text().substr(4);
    var thdDivNewInfo = secDiv.text().substr(4);
    var frthDivNewInfo = thdDiv.text().substr(4);
    var newNumber = (Math.random() + 1).toFixed(1);
        secDiv.html("num " + secDivNewInfo);
        thdDiv.html("num " + thdDivNewInfo);
        frthDiv.html("num " + frthDivNewInfo);
        firstDiv.html("num " + newNumber); 
}