getElementsByClassName的倒计时错误

时间:2013-05-02 12:23:19

标签: jquery countdown getelementsbyclassname

我使用getElementsByClassName时出错,它没有向我显示您在课堂上想要的结果。 当我使用一个可以顺利运行的getElementbyID但没办法时,我在控制台中没有错误我不明白为什么没有显示结果。

document.getElementsByClassName('countdown_product').innerHTML = '<span class="texte_countdown" style="text-align:center;"></span><br/>';
document.getElementsByClassName('countdown_product').innerHTML += '<span class="days">'+ days+ '</span>';
document.getElementsByClassName('countdown_product').innerHTML += '<span class="hours"><span class="pts_countdown">:</span>' + hours+ '</span>';
document.getElementsByClassName('countdown_product').innerHTML += '<span class="minutes"><span class="pts_countdown">:</span>' + minutes+ '</span>';
document.getElementsByClassName('countdown_product').innerHTML += '<span class="seconds"><span class="pts_countdown">:</span>' + seconds+ '</span>';
document.getElementsByClassName('countdown_product').innerHTML += '<span class="milliseconds"><span class="pts_countdown">:</span>' + milliseconds+ ' </span>'

我的fiddle

1 个答案:

答案 0 :(得分:2)

getElementsByClassName返回所选DOM元素对象的数组,您应该遍历所选元素并为每个选定元素更新innerHTML。您正在向返回的Array对象添加innerHTML属性,这当然不会引发错误但是没有达到预期的效果。

var elems = document.getElementsByClassName('countdown_product');
for ( var i = 0; i < elems.length; i++ ) {
   elems[i].innerHTML = '<span class="texte_countdown" style="text-align:center;">text</span>';
}

在加载jQuery时,您可以按className选择元素并使用htmlappend方法,jQuery在场景后面使用each方法并更新innerHTML属性对你而言。

$('.countdown_product').html('<element>content</element>');