如何用随机数组元素替换文本?

Posted

技术标签:

【中文标题】如何用随机数组元素替换文本?【英文标题】: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>

【问题讨论】:

【参考方案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;

【讨论】:

以上是关于如何用随机数组元素替换文本?的主要内容,如果未能解决你的问题,请参考以下文章

C语言中如何用名字存数组,用时间函数模拟随机,实现随机输出一个姓名。

在 Ruby 中,如何用可能的多个元素替换数组中的元素?

如何用随机字典值填充熊猫数据框列

如何用js解决字体颜色随机变换?

C语言如何用数组存储一些中文名字,并且可以随机抽取一个名字输出

如何用ruby中的数组中的元素替换字符串中的单词?