我正在通过以下方式进行实时时间戳更新:
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);
好的,这就是 javascript,现在检索到的字符串的解析发送:
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
我的问题是我需要设置 ids,响应给出 5,/<>可读的时间格式
而 5 是更新 html 的 id
我想在不知道 id 的情况下更新 html,但只在服务器上保留一篇文章,
例子
选择所有带有类 livetimestamp 的缩写并为每个缩写发送一个 ajax 调用是徒劳的,使单个字符串听起来更好,在这个字符串中,正如您从上面的 js 代码中看到的那样,它像 var 一样发送 id 以及数据,data("时间”)。
我想开始只从每个缩写发送带有类 livetimestamp 的数据,但能够以某种方式在没有 id 的情况下识别这些数据。
类似于每个 class=livetimestamp 的另一个循环,但从检索到的响应中执行更新 - 或者假设这些没有设置 id,则适用于从第一个选择的每个。
原因是我想拥有
<abbr class="livetimestamp" data-utime"xxxx">html</abbr>
和不
<abbr class="livetimestamp" data-utime"xxxx" id="words_numbers">html</abbr>
在服务器上继续设置 id 是徒劳的,无论它们是否必须是唯一的,或者因为必须设置一个计数器,并且这些计数器不应该与需要 livetimestamp 类的不同部分混合。所以让它只与班级一起工作会很棒。