为何getElementById疑似失效?点击Enable Search无响应求助
问题分析与解决
你的代码里的错误非常简单——JavaScript是大小写敏感的语言,你写的searchArea.classlist.remove里的classlist拼写错误,正确的属性名是classList(注意字母L为大写)。
浏览器找不到classlist这个属性,所以会返回undefined,进而触发你看到的TypeError。
修正后的JavaScript代码如下:
function enableSearch() { console.log("Enable Search clicked"); var searchArea = document.getElementById("search"); searchArea.classList.remove("is-hidden"); }
额外验证:你可以在var searchArea = ...后添加一行console.log(searchArea),控制台会输出对应的DOM元素,这说明getElementById本身工作正常,问题完全出在后续操作类名的拼写错误上。
内容的提问来源于stack exchange,提问作者Grampanda
相关产品推荐
相关产品推荐

