2010-06-23 8 views
1

자바 스크립트에 대해 더 자세히 배우려고 노력하고 있습니다. 누군가 내 스크립트에서 오류가 발생하는 이유를 말해 줄 수 있습니까?자바 스크립트 스타터 프레임 워크 오류

페이지가로드 : 약간의 접선에

Error: s.id("toggle-content").onClick is not a function Source File: http://localhost/cms/web/js/admin.js Line: 40

// 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')); 
}); 
} 

나는 다음과 같은 오류를 얻을. DOM에서 클래스를 가져 오는 표준화 된 방법이 있습니까?

해결되었습니다.

의 onclick = 대신에 온 클릭은() 자바 스크립트에서

답변

0

이벤트 이름은 속성과 메소드의 낙타 표기법 스타일을 따르지 않습니다. 그들은 모두 소문자입니다. onClickonclick으로 변경하면 도움이됩니다.

약간의 접미어에서 일부 브라우저는 이미 getElementsByClassName을 지원합니다 (내가 생각하는 것). 지원하지 않는 브라우저에는 alternatives이 있습니다.

관련 문제