我正在开发的网站上有一个切换式菜单。出于某种原因,我不断收到此错误:
(index):440 Uncaught TypeError:无法设置属性' onclick'为null
这指向了以下代码:
theToggle.onclick = function() {
toggleClass(this, 'on');
return false;
}
完整的代码是:
window.onload = function() {
var theToggle = document.getElementById('toggle');
// hasClass
function hasClass(elem, className) {
return new RegExp(' ' + className + ' ').test(' ' + elem.className + ' ');
}
// addClass
function addClass(elem, className) {
if (!hasClass(elem, className)) {
elem.className += ' ' + className;
}
}
// removeClass
function removeClass(elem, className) {
var newClass = ' ' + elem.className.replace(/[\t\r\n]/g, ' ') + ' ';
if (hasClass(elem, className)) {
while (newClass.indexOf(' ' + className + ' ') >= 0) {
newClass = newClass.replace(' ' + className + ' ', ' ');
}
elem.className = newClass.replace(/^\s+|\s+$/g, '');
}
}
// toggleClass
function toggleClass(elem, className) {
var newClass = ' ' + elem.className.replace(/[\t\r\n]/g, " ") + ' ';
if (hasClass(elem, className)) {
while (newClass.indexOf(" " + className + " ") >= 0) {
newClass = newClass.replace(" " + className + " ", " ");
}
elem.className = newClass.replace(/^\s+|\s+$/g, '');
} else {
elem.className += ' ' + className;
}
}
theToggle.onclick = function() {
toggleClass(this, 'on');
return false;
}
};
任何人都可以看到导致此问题的原因。我这里有一个临时站点。