Javascript 回文错误的结果。
我正在尝试创建回文检查器。现在似乎我的lengthChecker()不再被调用,条件也不再被调用,只要一个单词不是回文,就说它不是回文。可能是什么问题Javascript 回文错误的结果。,javascript,html,Javascript,Html,我正在尝试创建回文检查器。现在似乎我的lengthChecker()不再被调用,条件也不再被调用,只要一个单词不是回文,就说它不是回文。可能是什么问题 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Lesson #6 Homework</title> <script type="text/javascri
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Lesson #6 Homework</title>
<script type="text/javascript" src="./js/palindrome.js"></script>
</head>
<body>
<h1>Is it a Palindrome?</h1>
<div id="mainCont">
<p>Hello. Please enter a word, and I'll see if it is a palindrome.</p>
<p>Word:
<input type="text" id="str" name="string" />
<button id="checkInput">Submit</button>
</p>
</div>
</body>
</html>
您的Javascript链接到
head
元素中,因此在
进入DOM之前执行。将其移动到正文的末尾
或将其设为延迟
红色。,因为您要在页面正确加载之前访问按钮
加载DOM时,需要获取按钮并绑定事件处理程序
document.addEventListener("DOMContentLoaded", function(e) {
var el = document.getElementById("checkInput");
el.addEventListener("click", isPalindrome);
});
好像在这里工作?当我在Chrome中测试时,我得到了这个错误。另外,我在做什么使它说[object HTMLInputElement]是回文。我想让它从上到下显示用户的input.HTML负载。在创建任何元素之前加载JavaScript。一般来说,最好的做法是将脚本标记保留在身体的末尾。这也有助于页面加载。谢谢,但当我测试类似于输入cat或dog这样的代码时,它似乎没有触及“不是回文”的问题。脚本标记和正文标记的结尾是否有效?我认为通常它应该在标题标签内?是的,在正文标签的末尾写脚本是有效的和最佳的做法,这被认为是一个相当好的做法。如果您坚持在头部使用脚本,请使用提到的defer属性,或者从绑定到window.onload的函数中调用任何与DOM相关的东西,或者从DOMContentLoaded listener调用任何DOM相关的东西(如其他答案所示)。
document.addEventListener("DOMContentLoaded", function(e) {
var el = document.getElementById("checkInput");
el.addEventListener("click", isPalindrome);
});