如果现在的时间大于ID属性中指定的时间,我试图隐藏div元素。 (ID属性中的时间只是一个php mktime函数)
我在下面编写了以下代码,但它似乎没有用。有人可以帮帮我吗?谢谢!
<div name='test' id='1408702800'>Test</div>
<script>
$("div[name='test']").function({
var $time_now = $.now();
var $time = $("#time")
if($time_now > $time){
$("div[name='test']").hide();
}
});
</script>
答案 0 :(得分:0)
正如我在评论中所说,你的DIV id在几秒钟内有一个UNIX时间戳,而$.now()
以毫秒为单位返回一个时间戳。
使用$.each()
遍历您的元素,并使用$(this)
来识别当前元素。
$("div[name='test']").each(function() {
// Get UNIX timestamp and multiply by 1000 to get milliseconds
var timestamp = parseInt($(this)[0].id * 1000);
if ($.now() > timestamp) {
$(this).hide();
}
});
答案 1 :(得分:-1)
首先,您希望each
超过匹配元素并将其传递给应为每个匹配元素执行的函数。然后,抓住时间戳;将ID解析为整数并进行比较;然后只隐藏你正在迭代的元素。
var time_now = $.now();
$("div[name='test']").each(function () {
if(time_now < parseInt(this.id, 10)){
$(this).hide();
}
});
答案 2 :(得分:-2)
您应该使用document.querySelector(...).getAttribute('id')
(在Javascript Vanilla 中)
在第
行 var $time = ...
您使用的 id 并不存在。 : - )