Показать сообщение отдельно
  #2 (permalink)  
Старый 25.02.2011, 20:13
Аватар для Syn
Syn Syn вне форума
Новичок на форуме
Отправить личное сообщение для Syn Посмотреть профиль Найти все сообщения от Syn
 
Регистрация: 17.02.2011
Сообщений: 3

Рещение найдено с помощью вот такой вот функции:
function createSwat(className)
{
	var els = YAHOO.util.Dom.getElementsByClassName(className,'textarea'),
	textarea_obj=[];
	for(var i=0,l=els.length;i<l;i++){
	els[i]['id'] = els[i]['id']||('res_'+i);
	textarea_obj.push(new SwatTextarea(els[i]['id']));
	}
	return textarea_obj;
}


В итоге получилось нечто типа (упрощенно)...
function SwatTextarea(id)
{
	this.id = id;
	YAHOO.util.Event.onContentReady(this.id, this.handleOnAvailable, this, true);
}
SwatTextarea.prototype.handleOnAvailable = function()
{
	this.textarea = document.getElementById(this.id);
}
function createSwat(className)
{
	var els = YAHOO.util.Dom.getElementsByClassName(className,'textarea'),
	textarea_obj=[];
	for(var i=0,l=els.length;i<l;i++){
	els[i]['id'] = els[i]['id']||('res_'+i);
	textarea_obj.push(new SwatTextarea(els[i]['id']));
	}
	return textarea_obj;
}
YAHOO.util.Event.onDOMReady(function(){createSwat('custom_class')});


Однако это не избавляет нас от id-шников, а даже как бы наоборот. Посему цель не совсем достигнута и вопрос остается открытым (интересен альтернативный вариант решения проблемы, который позволит полностью избавиться от использования id).
Ответить с цитированием