这是我到目前为止所拥有的:
var timer = setInterval(function () {
$(".auctiondiv .auctiondivleftcontainer .countdown").text(sec--);
}, 1000);
这工作正常,但出现问题是因为我必须设置 sec
的值启动时,我页面上的每个倒计时元素都具有相同的值。因此,与其保存值并减少它,也许最好只获取每个刻度的值并减少它 - 而不是在 Javascript 中的任何地方保存该值。
如何抓取 .countdown 元素(<p>
标签)内的文本并从中减去一个并将其分配回同一个 <p>
元素?让我困惑的是,我的页面上有很多 .countdown 元素,我该如何浏览每一个元素?
我还需要确保 .countdown 值一旦达到零,我就可以做一些事情。可以说是有条件的。我想我可以使用 .parent()
对此,我们拭目以待。
有什么指导吗?
最佳答案
您可以使用 jQuery each
方法来迭代匹配的元素集:
var timer = setInterval(function () {
$(".countdown").each(function() {
var newValue = parseInt($(this).text(), 10) - 1;
$(this).text(newValue);
if(newValue == 0) {
//Do something
}
});
}, 1000);
我已将选择器更改为 .countdown
因为您说页面上有很多此类元素,并且我假设它们不会全部与您的原始选择器匹配,但您显然可以根据需要更改它。
这是一个working example上述代码。
关于javascript - 如何使用 jQuery 每秒减少 HTML 元素的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7308748/