我使用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
答案 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选择元素并使用html
或append
方法,jQuery在场景后面使用each
方法并更新innerHTML
属性对你而言。
$('.countdown_product').html('<element>content</element>');