JavaScript 入门框架错误

标签 javascript

我正在尝试了解有关 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/

相关文章:

javascript - onSubmit 不起作用(react-material-ui-form-validator)

javascript - 包含可观察对象的动态增长的 observableArray

javascript - 删除输入字段时更新占位符标记

javascript - 重复字符串 - Javascript

javascript - 使导入的代码只在特定页面运行[Module Pattern + ES6]

javascript - Canvas 还是PNG? (适用于 html5 动画)

javascript - 在 AngularJS 中生成一个包含常见/不常见元素的数组

javascript - 是否可以将 'sizes' 属性添加到由 javascript 创建的 <link> 元素?

javascript - Angular 检查滚动是手动触发还是从脚本触发

javascript - 检查 javascript 字符串是否为有效的 UTF-8