Показать сообщение отдельно
  #4 (permalink)  
Старый 16.02.2009, 18:34
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

есть идея не до конца оформленная:
можно сделать набор методов, прилепить их к 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 код на ошибки не выверялся.полет мысли так сказать
Ответить с цитированием