Попробовал немного другой способ, и он вроде даже лучше и проще для понимания, можете оценить
<script>
function $$(id)
{
switch (typeof id)
{
case "object":
return id;
break;
case "string":
if(id.search("#")!=-1)
{
var referenceId=id.replace("#","");
var element=document.getElementById(referenceId);
if(element){return element;}
else {alert("Данного элемента не существует.\ndocument.getElementById(referenceId) вернула\n"+element);}
}
else {alert("Элемент надо указывать так:#id");}
break;
case "function":
alert("function");
break;
default:
alert("Этот тип не поддерживается");
}
}
function $(id)
{
this.id=id;
this.cout=cout;
this.onready=onready;
return this;
}
function cout(text){$$(id).innerHTML=text;};
function onready(toMake)
{
switch (typeof toMake)
{
case "function":
window.onload = toMake;
break;
case "string":
window.onload = function(){eval(toMake);}
break;
default: alert("Ошибка в функции onready:Этот тип не поддерживается\n");
}
}
$.alert = function(text){ alert(text);}
$(document).onready("$('#test').cout('Привет');");
$.alert("Привет");
</script>
<html>
<head>
<title> Классы </title>
</head>
<body>
<div id="test"></div>
<button onclick="$('#test').cout('Ух ты');">Нажать</button>
</body>
</html>