我正在尝试了解有关 JavaScript 的更多信息,但我正在摆弄...东西。有人可以告诉我为什么我的脚本中出现错误吗?
// Effects object
var effects = {
// Display an object
show : function(obj) {
obj.style.display = 'block';
},
// Hide an object
hide : function(obj) {
obj.style.display = 'hide';
},
// Toggle
toggle : function(obj) {
if (obj instanceof Array) {
alert('array');
} else {
alert('single');
}
}
}
// Selector Class
var s = {
id : function(name) {
return document.getElementById(name);
},
class : function(name) {
node = document.getElementsByTagName("body")[0];
var a = [];
var re = new RegExp('\\b' + classname + '\\b');
var els = node.getElementsByTagName("*");
for(var i=0,j=els.length; i<j; i++)
if(re.test(els[i].className))
a.push(els[i]);
return a;
}
}
window.onload = function() {
s.id('toggle-content').onClick(function() {
effects.toggle(s.class('hidden-content'));
});
}
我收到以下错误:
页面加载时:
Error: s.id("toggle-content").onClick is not a function Source File: http://localhost/cms/web/js/admin.js Line: 40
稍微切线。有没有标准化的方法从 dom 获取类?
已解决。
onclick=而不是onClick()
最佳答案
Javascript 中的事件名称不遵循属性和方法的驼峰命名风格。它们都是小写的。将 onClick
更改为 onclick
就可以了。
稍微切线一下,一些浏览器已经支持 getElementsByClassName
(我认为这就是你所要求的)。有alternatives对于不支持它的浏览器。
关于JavaScript 入门框架错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3104749/