在显示 <DIV> 内容之前,如何对其进行测试以查看是否已更改
How do I test to see if <DIV> contents have changed before displaying them
我得到了一个id为"responsecontainer"的div,我想加载一个页面。 如果 DIV 的内容已更改,请更新 DIV,否则只需保持原样。
这是我的代码,它不起作用;
<script>
$(document).ready(function () {
$("#responsecontainer").load("qr.asp");
var refreshId = setInterval(function () {
$.get("qr.asp?randval=" + Math.random(), function (result) {
var newContent = $('.result').html(result);
if (newContent != $("#responsecontainer")) {
$("#responsecontainer").html(result);
};
});
}, 5000);
$.ajaxSetup({
cache: false
});
});
</script>
这个:
if (newContent != $("#responsecontainer")) {
应该是这样的:
if (newContent != $("#responsecontainer").html()) {
我不会依赖.html()
表示进行字符串比较。
浏览器决定 HTML 字符串应如何呈现,如果浏览器决定应以不同的方式显示一次,开发人员将无法控制它。
您应该有一个可供每个间隔调用访问的变量,并在旧响应和新响应之间进行字符串比较。
$(document).ready(function () {
var prev_response;
$("#responsecontainer").load("qr.asp", function(resp) {
prev_response = resp;
});
var refreshId = setInterval(function () {
$.get("qr.asp?randval=" + Math.random(), function (result) {
if (prev_response !== result) {
prev_response = result;
$("#responsecontainer").html(result);
}
});
}, 5000);
$.ajaxSetup({
cache: false
});
});
相关文章:
- 2端测试是否足够
- javascript测试是否存在两个标志中的任何一个
- Javascript 测试是否设置了变量
- 测试是否成功连接火碱
- 测试是否对 ng-show 属性可见
- 如何在 Firefox 上使用 Selenium IDE 来测试是否存在滚动条
- 测试是否已授予 html5 地理位置权限
- 如何在 Javascript/Node 中测试 B 是否是 A 的“子类”
- 如何测试是否在控制器中调用方法
- Regex测试是否只有ASCII字符
- 一个用于测试是否所有svg对象都可见的函数
- Knockout.js-foreach绑定-测试是否为最后一个元素
- 为什么使用"空”;以测试是否传递了参数
- 测试是否存在javascript小部件
- 白内障-A/B测试-是否可以通过OR预期2种情况
- 如何一般地测试是否支持媒体查询
- 测试是否找到对象属性
- 测试是否至少选中了两个复选框,然后将值插入数据库
- 测试是否所有给定的char's都是字符串- Javascript
- Javascript,测试是否存在嵌套属性