我面临的挑战是创建一个识别素数的函数,并且在我将 const 数字链接到输入并将函数链接到按钮之前,该函数在控制台上运行得很好。
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>
如何解决这个问题?
最佳答案
为了获取输入的值,您必须使用 value
属性而不是 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>
关于javascript - 我的 javascript 代码没有链接到 dom,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63477130/