मैं अपने सरणी में एक यादृच्छिक तत्व के साथ पाठ को बदलने की कोशिश कर रहा हूँ। जब उपयोगकर्ता पाठ पर ही क्लिक करता है, तो शब्द को मेरी सरणी के किसी एक तत्व में बदल देना चाहिए। मुझे उस फ़ंक्शन में परेशानी हो रही है जो मुझे ऐसा करने देती है। मेरे पास उन शब्दों के चारों ओर टेक्स्ट और लिपटे स्पैन टैग (नाम "हरे") हैं जिन्हें मैं बदलने में सक्षम होना चाहता हूं। मैंने नीचे अपना कोड शामिल किया है। किसी भी सहायता की सराहना की जाएगी।

//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>
2
Jason 22 नवम्बर 2021, 01:04

1 उत्तर

सबसे बढ़िया उत्तर

ईवेंट प्रकार केस संवेदी होते हैं जैसे
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;

}
<button class="hare">Click here</button>
0
ksav 22 नवम्बर 2021, 01:12