页面加载时用JavaScript添加类失效问题求助
解决"Cannot read property 'classList' of null"错误的小技巧
嘿,刚学JavaScript遇到这种问题太正常啦,咱们一步步拆解搞定它!你的代码里有两个小细节出错了,我帮你指出来:
错误1:事件绑定的写法不对
你写的:
window.onload = onPageLoad();
这里的括号()会立刻执行onPageLoad函数,而不是把函数本身绑定到页面加载完成的事件上。这时候页面DOM还没完全加载好,document.querySelector('.home')找不到对应的元素,就会返回null,自然触发了那个报错。
正确的写法应该去掉括号,把函数引用赋值给window.onload:
window.onload = onPageLoad;
错误2:classList方法的调用语法错了
你写的:
document.querySelector('.home').classList.add = ('active');
classList.add是一个方法,得用调用的语法(括号传参),而不是赋值操作。正确的写法是:
document.querySelector('.home').classList.add('active');
修正后的完整代码
window.onload = onPageLoad; function onPageLoad() { document.querySelector('.home').classList.add('active'); }
额外小提醒
还要确认你的HTML页面里确实存在带有home类名的元素哦,如果元素本身不存在,querySelector还是会返回null的~
内容的提问来源于stack exchange,提问作者rufus
相关产品推荐
相关产品推荐

