我有这个代码,它适用于GetElementsbyId,但我怎么能这样做所以我可以有GetElementsByClassName所以我可以将它传递到代码旁边的多个地方,这是我的代码;
这是js
var currentTime = new Date()
var month = currentTime.getMonth() + 1
var day = currentTime.getDate()
var year = currentTime.getFullYear()
document.write(month + "/" + day + "/" + year)
document.getElementsByClassName("time").innerHTML=(month + "/" + day + "/" + year);
我希望能够在我的HtmL页面中使用当前日期。谢谢
答案 0 :(得分:1)
您正在检索一个数组,因此您需要循环它。此外,请勿使用document.write
替换文档内容。
你也错过了所有分号,这可能会在某些情况下导致意外结果,所以请记住要随时添加它们。
以下是更新的示例:
var currentTime = new Date();
var month = currentTime.getMonth() + 1;
var day = currentTime.getDate();
var year = currentTime.getFullYear();
var cls = document.getElementsByClassName('time');
for (var i = 0; i < cls.length; i++) {
cls[i].innerHTML = (month + "/" + day + "/" + year);
}
答案 1 :(得分:1)
您在问题中标记为jQuery
,我假设您使用jQuery
使用jQuery ,你可以做到,
var currentTime = new Date()
var month = currentTime.getMonth() + 1
var day = currentTime.getDate()
var year = currentTime.getFullYear()
$(".time").text(month + "/" + day + "/" + year);
演示: http://jsfiddle.net/C6Qgf/3/
注意:如果您使用的是原生JavaScript,请记住document.getElementsByClassName
无法在IE上使用。有一种解决方法可以修复,请参阅下面的代码。
使用原生JS (支持IE)
var currentTime = new Date()
var month = currentTime.getMonth() + 1
var day = currentTime.getDate()
var year = currentTime.getFullYear()
//document.write(month + "/" + day + "/" + year)
var obj = getElementsByClassName("time");
for(var i=0; i<obj.length; i++){
obj[i].innerHTML=(month + "/" + day + "/" + year);
}
//For IE Fix
function getElementsByClassName(className) {
if (document.getElementsByClassName){
return document.getElementsByClassName(className);
}else{
return document.querySelectorAll('.' + className);
}
}