首页 > 解决方案 > Javascript getElementsByClassName 不起作用

问题描述

我正在尝试制作一个按钮,一旦单击它就会使相同的 javascript 代码应用于同一个类,但它不会工作

function Destination() {
  hrs = Math.round(Math.random() * 12);
  mins = Math.round(Math.random() * 60);
  var hFormat = (hrs < 10 ? "0" : "");
  var mFormat = (mins < 10 ? "0" : "");
  var amPm = (hrs < 12 ? "AM" : "PM");
  return String(hFormat + hrs + ":" + mFormat + mins + " " + amPm);
}
<button onclick="document.getElementsByClassName('AirAsiaTable1').innerHTML =Destination(12,60)">
  <i class="fas fa-search"></i>
</button>

标签: javascript

解决方案


getElementsByClassName 返回一个元素数组(如果有的话)。你需要得到第一个。由索引 0 引用。

试试这个 CodePen

function Destination() {
  hrs = Math.round(Math.random() * 12);
  mins = Math.round(Math.random() * 60);
  var hFormat = (hrs < 10 ? "0" : "");
  var mFormat = (mins < 10 ? "0" : "");
  var amPm = (hrs < 12 ? "AM" : "PM");
  return String(hFormat + hrs + ":" + mFormat + mins + " " + amPm);
}
function btnClick(){
  var p = document.getElementsByClassName('AirAsiaTable1')[0]
  console.log(p)
  p.innerHTML =Destination(12,60)
}

https://codepen.io/ianmiddelkamp/pen/MWYGWeK?editors=1111


推荐阅读