Показать сообщение отдельно
  #8 (permalink)  
Старый 20.09.2011, 15:21
Профессор
Отправить личное сообщение для nikita.mmf Посмотреть профиль Найти все сообщения от nikita.mmf
 
Регистрация: 01.02.2010
Сообщений: 364

melky,
позволил себе добавить несколько оптимизаций к вашему коду
// кешируем тяжелые операции. 
// loop вынесена и может быть заменена, например, jQuery.each
var all  = document.querySelectorAll ? document.querySelectorAll("[id]") : document.getElementsByTagName("*"), 
	loop = Array.prototype.every;

function getElementByIdWithoutCase( id ) {
	var element = document.getElementById(id), idReg = new RegExp( id, "i" );
	// обходим все элементы и сравниваем их ИД без учета регистра.
	!element && loop.call( all, function(el){
		 // если есть ID и он соотв. указанному без учёта регистра 
		 // то устанавливаем элемент и прекращаем цикл (return false)
		 return !(el.id && idReg.test( el.id) && (element=el));    
	});
	return element;
}
Ответить с цитированием