我试图通过轮询和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
答案 0 :(得分:0)
您在“查看源”窗口中看到的代码是在允许任何客户端修改DOM之前发送到浏览器的HTML。如果您想查看源,因为它是通过你的javascript修改,你需要检查DOM(IE F12,Firebug等)
如果您需要访问之前插入的此值,则使用javascript访问元素的内容(即。$('#number-2').text()
)应该返回其当前在DOM中的内容。
编辑:纠正错字
答案 1 :(得分:0)
看起来你已经熟悉jQuery所以我会继续前进到非常有用的API并看看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);
}