JavaScript:类而不是ID

JavaScript:类而不是ID,javascript,time,clock,Javascript,Time,Clock,我需要不止一个时钟。在我的尝试中,我将document.getElementById替换为document.getElementsByClassName。不幸的是,它没有像我尝试的那样工作。有人能帮我吗 函数currentTime(){ 变量日期=新日期(); var hour=date.getHours(); var min=date.getMinutes(); var midday=“上午”; 中午=(小时>=12)?“下午”:“上午”; 小时=(小时==0)?12:((小时>12)?(小

我需要不止一个时钟。在我的尝试中,我将
document.getElementById
替换为
document.getElementsByClassName
。不幸的是,它没有像我尝试的那样工作。有人能帮我吗

函数currentTime(){
变量日期=新日期();
var hour=date.getHours();
var min=date.getMinutes();
var midday=“上午”;
中午=(小时>=12)?“下午”:“上午”;
小时=(小时==0)?12:((小时>12)?(小时-12):小时);
小时=更新时间(小时);
min=更新时间(min);
让小时数=document.createElement('span')
让points=document.createElement('span'))
让mins=document.createElement('span')
设为blank=document.createElement('span'))
让middays=document.createElement('span'))
hours.innerHTML=小时
points.innerHTML=“:”
mins.innerHTML=min
blank.innerHTML=“”
middays.innerHTML=midday
document.getElementById(“时钟”).innerHTML=“”
document.getElementById(“时钟”).appendChild(小时);
document.getElementById(“时钟”).appendChild(点);
document.getElementById(“时钟”).appendChild(分钟);
document.getElementById(“时钟”).appendChild(空白);
document.getElementById(“时钟”).appendChild(中午);
var t=设置超时(currentTime,1000);
}
函数更新时间(k){
if(k<10){
返回“0”+k;
}
否则{
返回k;
}
}
currentTime()

使用
getElementsByClassName()。函数
getElementsByClassName()
实际上返回一个数组!因此,您只需使用:
document.getElementsByClassName('class')[索引]


希望您了解阵列的工作原理。如果没有,这里是和。我建议先阅读然后再查看

你不能在同一页上有多个id,所以你需要用一个类替换它,并用document选择所有id。querySelectorAll(“.class name”),然后你可以循环查看它。

我这样做了,希望是关于你的问题

函数当前时间(elementsClass)
{
让AllClock=document.getElementsByClassName(elementsClass)
,时钟=所有时钟[0]
,hours=document.createElement('span')
,points=document.createElement('span')
,mins=document.createElement('span')
,blank=document.createElement('span')
,middays=document.createElement('span')
,date=null
,小时=null
,theClockInnerHTML=“”
;
儿童的体重(小时);
附加子项(点);
子对象(分钟);
theClock.appendChild(空白);
儿童期(中午);
points.textContent=“:”
blank.textContent=“”
updatelock()
设置间隔(updateClock,1000);
函数updatelock()
{
日期=新日期()
小时=日期。getHours()
hours.textContent=time2digits((小时==0)?12:((小时>12)?(小时-12):小时))
mins.textContent=time2digits(date.getMinutes())
中午.textContent=(小时>=12)?“下午”:“上午”
if(theClock.innerHTML!=theClockInnerHTML){
theClock innerHTML=theClock.innerHTML
对于(设i=1;i
const-clocks=document.querySelectorAll('.clock');
函数currentTime(){
变量日期=新日期();
var hour=date.getHours();
var min=date.getMinutes();
var midday=“上午”;
中午=(小时>=12)?“下午”:“上午”;
小时=(小时==0)?12:((小时>12)?(小时-12):小时);
小时=更新时间(小时);
min=更新时间(min);
常量时钟=`${hour}:${min}${midday}`
对于(变量i=0;i


我不明白。(@Mantel你不明白什么?
document.getElementsByClassName
返回一个数组…你必须使用索引访问正确的元素。你去过这两个网站吗?假设你有

.const clocks=document.querySelectorAll(.clock),所以时钟成为一个节点列表,你可以迭代。对于(var i=0;i