Цитата:
|
Цитата:
У тебя же раздутые строки и неявный if. Еще непонятно что на 18 строке. |
Неявный if еще можно использовать в примерно таких случаях:
hasAttr || addAttr(); dirtyFlag && updateSmth(); Тут это наоборот упрощает код и его чтение. |
Цитата:
<!DOCTYPE HTML>
<html>
<head></head>
<body>
<div class="a">Div 1</div>
<div class="a">Div 2</div>
<div class="a">Div 3</div>
<div class="a">Div 4</div>
<div class="a">Div 5</div>
<script>
var elem = document.getElementsByTagName('div');
var elements = [];
for(var i=0; i<elem.length;i++){
var option = elem[i].className;
if(option=='a'){
elements.push(elem[i]);
}
}
for(var j=0;j<elements.length;j++){
elements[j].onclick = function () {
alert(myIndexOf.call(elements, this));
}
}
function myIndexOf(elemento){
for(var i=0;i<this.length;i++){
if(elemento == this[i])
return i;
}
}
</script>
</body>
</html>
|
Pechen, половина кода лишняя. Используй querySelectorAll.
Если в IE нет indexOf, то проще обойтись без него. Используй замыкания либо пиши индекс в data-атрибут. Если же хочешь indexOf, то к чему пляски с call? Делай вызов напрямую. Можешь кстати на прототипе объявить, только делай тогда нормальную реализацию (возьми из ES5-shim) |
Пять страниц секса с мозгом. Селектить по атрибуту необходимо когда элементы с этим атрибутом рассеяны в пространстве сферического коня в вакууме.
А когда все элементы с таким атрибутом в куче, то любой нормальный верстак добавит им всем родителя через которого и будет общаться с потомками любой нормальный программист. |
Цитата:
Например типовая задача произвольного доступа. щелчок на N если N+1 < L то следующий N+1 иначе следующий 0 если N-1 > 0 то предыдущий N-1 иначе предыдущий L-1 Где взять N? Разумеется из data-index |
Цитата:
с замыканиями мне еще предстоит познакомиться, а на счет дата атрибутов тоже только узнал и мне показалось такое решение менее изящным чем добавление по свойству каждому элементу.
<!DOCTYPE HTML>
<html>
<head></head>
<body>
<div class="a">Div 1</div>
<div class="a">Div 2</div>
<div class="a">Div 3</div>
<div class="a">Div 4</div>
<div class="a">Div 5</div>
<script>
var elements = document.querySelectorAll('div.a');
for(var j=0;j<elements.length;j++){
elements[j].index = j;
elements[j].onclick = function () {
alert(this.index );
}
}
</script>
</body>
</html>
|
Цитата:
Но за это могут и п*зды дать. |
| Часовой пояс GMT +3, время: 05:17. |