Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   узнать номер елемента в массиве при клике (https://javascript.ru/forum/misc/45445-uznat-nomer-elementa-v-massive-pri-klike.html)

рони 17.11.2014 20:14

Цитата:

Сообщение от Pechen
elem[i].getAttribute('class');

className
и зачем вычислять то что уже известно строка 22

Pechen 17.11.2014 21:00

рони,
спасибо, с className ранее я не пользовался -- думал в старых браузерах не работает)
а по строке 22 как лучше записать?

и является ли мой код оптимальным или выше по форуму предлагали реализации значительно лучше?

рони 17.11.2014 21:11

Pechen,
чем вас самого иные варианты неустроили?
Цитата:

Сообщение от Pechen
и является ли мой код оптимальным

нет, достаточно 1 цикла

рони 17.11.2014 21:20

Pechen,
<!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>
for (var elem = document.getElementsByTagName("div"), a = 0, i = 0; i < elem.length; i++) {
    var option = elem[i].className;
    "a" == option && (elem[i].onclick = function(b) {
        return function() {
            alert(b)
        }
    }(a++))
};
    </script>
  </body>
</html>

Pechen 17.11.2014 21:51

Цитата:

Сообщение от рони (Сообщение 341436)
Pechen,
чем вас самого иные варианты неустроили?

примеры выше не работают в старых браузерах. я стараюсь избегать таких методов.

у меня недостаточно знаний чтобы понять как работает ваш пример))) в частности откуда берется значение b)

возможно, я не так выразился -- говоря "оптимальный" я имел ввиду можно ли его использовать или следует переписать?

рони 17.11.2014 21:55

Pechen,
если работает то можно )))
Цитата:

Сообщение от Pechen
откуда берется значение b)

из строки 18

рони 17.11.2014 22:00

Pechen,
http://javascript.ru/basic/closure

danik.js 17.11.2014 22:38

рони, че за уродство постишь? Не показывай ЭТО людям ))

рони 17.11.2014 22:43

danik.js,
что не так?

рони 17.11.2014 22:46

danik.js,
может лучше ответишь на вопросы тут
http://javascript.ru/forum/misc/5169...tml#post341208


Часовой пояс GMT +3, время: 15:59.