如何修复HTML JavaScript按钮无响应?回文词检测功能失效排查
回文检测按钮无响应的问题修复
你的代码里存在几个明显错误,导致按钮点击后没有任何效果:
引用不存在的DOM元素
findClick函数开头的document.getElementById("palindromes").innerHTML = "";会报错,因为你的HTML中没有id为palindromes的元素,这会中断后续代码执行。应该改为清空结果列表words的内容。循环变量使用错误
遍历单词数组时,循环初始化的变量是j,但递增的是未定义的i,导致循环无法正常运行;同时添加列表项时错误地用phraseList[i]获取元素,应该统一使用j作为循环变量。回文检测函数参数引用错误
checker函数接收的参数是x,但函数内部全程使用未定义的s来判断,这会直接导致检测逻辑失效。
修复后的JavaScript代码如下:
window.onload = function () { document.getElementById("find").onclick = findClick; }; function findClick() { // 清空之前的检测结果 document.getElementById("words").innerHTML = ""; var phraseList = document.getElementById("theString").value.split(" "); for (var j = 0; j < phraseList.length; j++) { if (checker(phraseList[j])) { var li = document.createElement("li"); li.innerHTML = phraseList[j]; document.getElementById("words").appendChild(li); } } } function checker(x) { x = x.toLowerCase(); for (var i = 0; i < x.length / 2; i++) { if (x[i] !== x[x.length - 1 - i]) { return false; } } return true; }
内容的提问来源于stack exchange,提问作者Ahmed Kharrat
相关产品推荐
相关产品推荐

