【问题标题】:How to replace text with a random array element?如何用随机数组元素替换文本?
【发布时间】:2021-12-31 15:39:40
【问题描述】:

我正在尝试用数组中的随机元素替换文本。当用户单击文本本身时,该单词应更改为我的数组中的元素之一。我无法使用让我这样做的功能。我在我希望能够更改的单词周围有文本和包装的 span 标签(名为“hare”)。我在下面包含了我的代码。任何帮助将不胜感激。

//code below 
<script>
let C = document.getElementsByClassName("hare");
//console.log(C);
let L = C.length;
//console.log(L);
for (var i = 0; i < L; i++)
  C[i].addEventListener("Click",changeWord);

function changeWord() {
  let CC = document.getElementsByClassName("hare");
  var h = ["Rabbit", "Snake", "Human"];
  let rndWord = h[Math.floor(Math.random()*h.length)];
  //console.log(rndWord);
  for (var i = 0; i < CC.length; i++)
    CC[i].innerHTML = rndWord;

}

</script>

【问题讨论】:

    标签: javascript html arrays


    【解决方案1】:

    Event types 区分大小写,例如
    C[i].addEventListener("click",changeWord);

    let C = document.getElementsByClassName("hare");
    //console.log(C);
    let L = C.length;
    //console.log(L);
    for (var i = 0; i < L; i++)
      C[i].addEventListener("click",changeWord);
    
    function changeWord() {
      let CC = document.getElementsByClassName("hare");
      var h = ["Rabbit", "Snake", "Human"];
      let rndWord = h[Math.floor(Math.random()*h.length)];
      //console.log(rndWord);
      for (var i = 0; i < CC.length; i++)
        CC[i].innerHTML = rndWord;
    
    }
    &lt;button class="hare"&gt;Click here&lt;/button&gt;

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-10-02
      • 1970-01-01
      • 2020-11-30
      • 2015-05-23
      • 1970-01-01
      • 2017-11-03
      • 2018-02-19
      • 2023-04-08
      相关资源
      最近更新 更多