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)

danik.js 02.03.2014 01:53

Почему никто не юзает Array.apply(null, arrayLike) ??
Этож самый короткий и самый шустрый способ приведения (Кроме Array.from, кстати его не вычеркнули из ES6?)

Vlasenko Fedor 02.03.2014 02:27

Цитата:

Сообщение от danik.js
Херовая практика использовать такие селекторы. Хотя откуда тебе знать-то..

Где ты видел у меня "use strict";
Даниил эт ты кому пишешь?

danik.js 02.03.2014 02:30

Цитата:

Сообщение от Poznakomlus
Где ты видел у меня "use strict";

use strict будет у меня или у человека, который скопипастит код. Приче use strict может быть проставлен в вышестоящей функии.
Цитата:

Сообщение от Poznakomlus
Даниил эт ты кому пишешь?

Автору этой реплики:
Цитата:

Сообщение от Poznakomlus
не посмотрел на твой код, дерьмо по сравнению с моим


Vlasenko Fedor 02.03.2014 02:40

Цитата:

Сообщение от danik.js
use strict будет у меня

твой последний пример не работает в каких версиях чего об этом не написал
И поясни
Цитата:

Сообщение от danik.js
Херовая практика использовать такие селекторы

Эт кому ты пишешь.

danik.js 02.03.2014 03:04

Писал про селектор div.a

danik.js 02.03.2014 03:06

Цитата:

Сообщение от Poznakomlus
твой последний пример не работает в каких версиях чего об этом не написал

Нафига? Автор юзал getElementsByClassName, что говорит о том что ему пофиг на IE8.

Vlasenko Fedor 02.03.2014 03:14

так автору адресуй про селектор div.a и
что ты скажешь про "use strict"; в примере
<style>
      div.a {
        padding:5px;
        margin: 5px;
        background-color: red;
        float: left;
      }
    </style>
    <div class="a">1</div>
    <div class="a">2</div>
    <div class="a">3</div>
    <div class="a">4</div>
    <div class="a">5</div>
    <script>
      var aa = function(){
      	 "use strict";
      }
      (function () {
        var divs = document.querySelectorAll("div.a"),
          len = divs.length,
          i = 0;
        for (; divs[i].setAttribute("onclick", "clval(" + i + ")"), ++i < len;);
        clval = function (e) {
          alert(e);
        };
      }());
      var bb = function(){
      	 "use strict";
      }
    </script>

danik.js 02.03.2014 03:43

Вышестоящей - вмысле выше по уровню, а не по расположению :)
(function(){
'use strict';

(function(){
    // тут тоже строгий режим действует
})()

})()

Vlasenko Fedor 02.03.2014 04:02

Принято :) Т.С должен был исковеркать код
Теперь
divs[i].onclick = handler;
и мой вариант
divs[i].setAttribute("onclick", "clval(" + i + ")")
ты вешаешь на каждый элемент обработчик, а я к каждому элементу добавляю вызов функции приведи аргументы, что твой вариант лучше

Aetae 02.03.2014 04:13

Лучше, ибо не говнокод.)
Внутри javascript записывать javascript код в виде строки(какие бы на то ни были причины) - моветон. Это очевидно любому, у кого наличествует чувство прекрасного.)


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