Триви, WTF ?
раз хотят они через жопу, пусть так и будет....
// кешируем тяжелые операции.
// loop вынесена и может быть заменена, например, jQuery.each
var all = document.getElementsByTagName("*"), loop = Array.prototype.every;
function getElementByIdWithoutCase( id ) {
var element, idReg = new RegExp( id, "i" );
// обходим все элементы и сравниваем их ИД без учета регистра.
loop.call( all, function(el){
// если есть ID и он соотв. указанному без учёта регистра
// то устанавливаем элемент и прекращаем цикл (return false)
return !(el.id && idReg.test( el.id) && (element=el));
});
return element;
}
пример :
<body>
<div id='idlowercase'></div>
<span id='IDUPPERCASE'></span>
<p id='idMixedCase'></p>
</body>
<script type="text/javascript">
var all = document.getElementsByTagName("*"), loop = Array.prototype.every;
function getElementByIdWithoutCase( id ) {
var element, idReg = new RegExp( id, "i" );
loop.call( all, function(el){
return !(el.id && idReg.test( el.id) && (element=el));
});
return element;
}
// func end. it's test.
var res = [];
[ 'idlowercase', 'IDUPPERCASE', 'idMixedCase' ].forEach(function(a,b){res.push((b=getElementByIdWithoutCase(a)).tagName+"#"+b.id)})
alert( res.join('\n') )
</script>
Сообщение от Gvozd
|
Ну, так объясни им что они не правы.
|
помните тему про рабов-программистов, которые начальству возразить не могут ?