есть идея не до конца оформленная:
можно сделать набор методов, прилепить их к document, и сделать, чтоб все объекты возвращаемые нашими методами также имели их у себя
//функции применимые к нодам
function _getElemetById(id)//перегрузка стандартного метода
{
var dom_obj=this.getElemetById(id);
set_new_methods.call(dom_obj);//вызываем, чтоб возвращался объект с нашими новыми методами
return dom_obj;
}
function _getElemetsByClass(searchClass,tag)//уникальный метод
{
node=this;
var classElements = new Array();
if ( node == null )
node = document;
if ( tag == null )
tag = '*';
var els = node.getElementsByTagName(tag);
var elsLen = els.length;
var pattern = new RegExp('(^|\\\\s)'+searchClass+'(\\\\s|$)');
for (i = 0, j = 0; i < elsLen; i++) {
if ( pattern.test(els[i].className) ) {
classElements[j] = els[i];
set_new_methods.call(classElements[j]);//вызываем, чтоб возвращался объект с нашими новыми методами
j++;
}
}
return classElements;
}
//установка методов для ноды
function set_new_methods()
{
this._getElemetById=_getElemetById;
this._getElemetsByClass=_getElemetsByClass;
}
set_new_methods.call(document);
document._getElemetById(id)._getElemetsByClass(searchClass,tag);//допустимый вызов
PS код на ошибки не выверялся.полет мысли так сказать