Почему данное условие не верно
Здравствуйте. Научите меня пожалуйста как нужно обрабатывать условие на равенство? Вот допустим есть код:
$('.navig img').click(function(){ for (var i = 0; i<$(this).size(); i++) if ( $(this)==$('.navig img:eq('+i.toString+')') ) { alert('Клик по '+i.toString+'ому изображению'); }); Но он не рабочий. Почему? На страничке 4 картинки. Все они в блоке div с классом '.navig'. Как такое условие обработать? |
Цитата:
Потому как не всякая писанина вообще будет работать, а тем паче решать определеные задачи должным образом. Например задачку по выводу сообщения "Клик по N-ому изображению" вообще лучше решать не так... :) Цитата:
Принципа всего 2. 1. Не лезьть туда, куда не нужно. 2. Не искать того, чего там нет. |
Цитата:
1)Ну вот смотрите, сначала я так понимаю нужно селектором выбрать все нужные изображения: $(.navig img) // Это есть 2)Далее повесить к этому массиву обработчик. Это тоже есть. 3)Далее перебираем все элементы этого массива и сравниваем тот элемент по которому был клик со всеми остальными. if ( $(this)==$('.navig img:eq('+i.toString+')') )//Это есть 4)Далее производим действия с данным объектом. Это alert. Что не так? Цитата:
|
Цитата:
Зачем всегда (!) при клике шариться в каком-то цикле? Ведь уже сам обработчик уже можно задать с нужным параметром и никаких циклов потом не понадобится... Цитата:
|
Цитата:
|
Цитата:
|
А что, недостаточно данных, что есть 4 картинки внутри блока с классом .navig, и нужно повесить обработчик клика на каждую из них, и выводить алерт с номером картинки?
|
Цитата:
|
Щас, пару минут.
|
Вложений: 1
Вот прикрепляю файл...
|
Часовой пояс GMT +3, время: 05:28. |