Javascript 使用jquery创建实时时间戳时,不希望使用ID
我正在通过以下方式进行实时时间戳更新:Javascript 使用jquery创建实时时间戳时,不希望使用ID,javascript,jquery,each,Javascript,Jquery,Each,我正在通过以下方式进行实时时间戳更新: var refreshtimest; function refreshtimes() { var allt = ''; $("abbr[class=livetimestamp]").each(function () { var did = $(this).attr("id"); did = did.replace("dtime", ""); var tit = $(this).data
var refreshtimest;
function refreshtimes() {
var allt = '';
$("abbr[class=livetimestamp]").each(function () {
var did = $(this).attr("id");
did = did.replace("dtime", "");
var tit = $(this).data("utime");
allt += ':{}' + did + ',/:{}' + tit;
});
$.ajax({
async: "false",
type: "POST",
url: "refreshtimes.php",
data: {
alltimes: allt
},
success: function (response) {
if (response.length > 0) {
var res = response.split("<>");
var rres = res.length - 1;
var x = 0;
var id;
while (x <= rres) {
if (strpos(res[x], ',/') !== false) {
id = parseInt(res[x]);
} else if (id != "undefined") {
document.getElementById("dtime" + id).innerHTML = res[x];
}
x++;
}
}
}
});
refreshtimest = setTimeout("refreshtimes()", 60000);
}
refreshtimest = setTimeout("refreshtimes()", 2000);
var刷新时间t;
函数刷新次数(){
var-allt='';
$(“abbr[class=livetimestamp]”)。每个(函数(){
var did=$(this.attr(“id”);
did=did.replace(“dtime”,即“);
var tit=$(this.data(“utime”);
allt+=':{}'+did+',/:{}'+tit;
});
$.ajax({
异步:“假”,
类型:“POST”,
url:“refreshtimes.php”,
数据:{
所有时间:所有时间
},
成功:功能(响应){
如果(response.length>0){
var res=响应。拆分(“”);
var rres=相对长度-1;
var x=0;
变量id;
而(x基本上,我认为你首先不需要使用id
当您使用此选择器时,$(“abbr[class=livetimestamp]”
将按自上而下的顺序解析DOM,并按顺序选择所有元素
因此,您不必发送元素的ID,而可以将时间本身作为逗号分隔的sting发送,按顺序发送。。然后在服务器上刷新时间并以相同的格式返回。好的,听起来很不错,那么在更新读取时间上动态添加包含class=livetimestamp的元素如何如果在发送ajax和响应之间删除元素,更新将不正确。有什么建议吗?我认为,因为您的ajax请求中的async:false不应该发生这种情况。如果ajax是异步的,这可能是一个问题。还有,如果您在Aja之前将元素缓存在变量中x请求时,新添加的元素将不在缓存变量中。因此,即使添加了元素,我认为也不会有什么不同。。
5,/<>36 minutes ago<>2,/<>September 5 at 11:52am<>3,/<>September 5 at 11:48am<>72,/<>September 4 at 4:43pm<>73,/<>September 4 at 3:29pm<>33,/<>September 4 at 3:08pm<>16,/<>September 4 at 2:19pm<>70,/<>September 4 at 2:46pm<>0,/<>September 4 at 3:20pm<>4,/<>September 4 at 3:22pm<>71,/<>September 3 at 1:04pm<>6,/<>September 3 at 3:20pm<>7,/<>September 3 at 3:18pm<>8,/<>September 3 at 3:17pm<>9,/<>September 3 at 3:14pm
<abbr class="livetimestamp" data-utime"xxxx">html</abbr>
<abbr class="livetimestamp" data-utime"xxxx" id="words_numbers">html</abbr>