用于在html中传递当前日期的Javascript ClassName

时间:2012-11-15 08:35:27

标签: javascript html

我有这个代码,它适用于GetElementsbyId,但我怎么能这样做所以我可以有GetElementsByClassName所以我可以将它传递到代码旁边的多个地方,这是我的代码;

http://jsfiddle.net/C6Qgf/

这是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页面中使用当前日期。谢谢

2 个答案:

答案 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);​​​​
}

小提琴http://jsfiddle.net/C6Qgf/1/

答案 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);
    }
}

演示: http://jsfiddle.net/C6Qgf/6/