Mein Javascript-Code ist nicht mit dem Dom verknüpft [Duplikat]
Aug 19 2020
Ich wurde aufgefordert, eine Funktion zu erstellen, die eine Primzahl erkennt und auf der Konsole hervorragend funktioniert, bis ich meine konstante Nummer mit dem Eingang und meine Funktion mit der Schaltfläche verknüpft habe.
const btn = document.querySelector('.btn1')
if (btn) {
btn.addEventListener('click', isitPrime)
}
function isitPrime() {
const number = document.querySelector('.input1').innerHTML
const answer = document.querySelector('.answer')
let isPrime = true
for (let i = 2; i < number; i++) {
if (number % i === 0) {
isPrime = false
answer.innerHTML = (`${number} is not prime ${number} can be divided by ${i}`) } if (isPrime) { answer.innerHTML = (`${number} is prime`)
}
}
}
<input type="text" class="input1">
<button class="btn1">click here</button> <br/><br/>
<div class="answer"></div>
Wie kann man dieses Problem lösen?
Antworten
3 Namysh Aug 19 2020 at 04:58
Um den Wert einer Eingabe zu erhalten, müssen Sie die valueEigenschaft anstelle der folgenden verwenden innerHtml:
const btn = document.querySelector('.btn1')
if(btn){
btn.addEventListener('click', isitPrime)
}
function isitPrime(){
// here we get 'value' property instead of 'innerHtml' property
const number = document.querySelector('.input1').value
const answer = document.querySelector('.answer')
let isPrime = true
for(let i = 2; i < number; i++){
if(number % i === 0){
isPrime = false
answer.innerHTML = (`${number} is not prime ${number} can be divided by ${i}`) } if(isPrime){ answer.innerHTML = (`${number} is prime`)
}
}
}
<input type="text" class="input1">
<button class="btn1">click here</button> <br/><br/>
<div class="answer"></div>
1 AnupShrestha Aug 19 2020 at 05:01
document.querySelector ('. input1'). innerHTML Dies ist falsch
Sie sollten document.querySelector ('. Input1'). Value verwenden