如何用一行JS代码在页面两处同步显示当前时间?
当然可以!有几种简洁的方式能在一行代码里完成两个元素的赋值,给你分享两个实用方案:
方法1:使用querySelectorAll配合forEach
querySelectorAll返回的NodeList在现代浏览器中支持直接调用forEach,一行就能遍历所有目标元素并赋值:
document.querySelectorAll('.time').forEach(el => el.innerHTML = `${hour}:${minute}:${second}`);
方法2:兼容旧浏览器的写法
如果需要兼容不支持NodeList.forEach的老浏览器,可以用扩展运算符把getElementsByClassName返回的HTMLCollection转换成数组,再遍历:
[...document.getElementsByClassName('time')].forEach(el => el.innerHTML = `${hour}:${minute}:${second}`);
另外顺便提一句,用ES6模板字符串${hour}:${minute}:${second}代替传统的字符串拼接,代码会更易读哦~
内容的提问来源于stack exchange,提问作者Ashesh Shrestha
相关产品推荐
相关产品推荐

