Почему данное условие не верно
Здравствуйте. Научите меня пожалуйста как нужно обрабатывать условие на равенство? Вот допустим есть код:
$('.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
Вот прикрепляю файл...
|
Решатель, не нужно ничего "крепить"... Пример размещай тут. Примеров, как это сделать, валом на этом форуме.
Даже в последних сообщениях, в том числе и моих... |
html:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Документ без названия</title>
<script src="Untitled-2.js" type="text/javascript"></script>
<script src="jquery.js" type="text/javascript"></script>
<link href="Untitled-3.css" type="text/css" rel="stylesheet" />
</head>
<body>
<div class="navig">
<img src="check-on.png" width="35" height="35" alt="kartinka"/>
<img src="check-on.png" width="35" height="35" alt="kartinka"/>
<img src="check-on.png" width="35" height="35" alt="kartinka"/>
<img src="check-on.png" width="35" height="35" alt="kartinka"/>
</div>
</body>
</html>
javascript:
$(document).ready(function(e) {
$('.navig img').click(function(){
//Что тут должно быть чтобы при клике по i-ой картинке выводился alert с ее номером?
});
});
|
Решатель, если я скопирую твой пример... Соберу его в кучу... Он не сможет заработать у меня. :)
Но всетаки хоть что-то... :) |
Ну так поможете?
|
Как вариант...
<!DOCTYPE html>
<html>
<head>
<title>test</title>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<style type="text/css">
</style>
<script type='text/javascript'>
$(document).ready(function() {
$('.navig img').each(function(i) {
$(this).click(function() {
alert('Клик по '+(i+1)+'-ому изображению');
});
});
});
</script>
</head>
<body>
<div class="navig">
<img src="http://javascript.ru/forum/images/smilies/smile.gif" width="35" height="35" alt="kartinka"/>
<img src="http://javascript.ru/forum/images/smilies/smile.gif" width="35" height="35" alt="kartinka"/>
<img src="http://javascript.ru/forum/images/smilies/smile.gif" width="35" height="35" alt="kartinka"/>
<img src="http://javascript.ru/forum/images/smilies/smile.gif" width="35" height="35" alt="kartinka"/>
</div>
</body>
</html>
Т.ч. начинай учиться делать нормальные тестовые примеры... ;) |
Аке:)
Спасибо большое! |
$(document).ready(function() {
$('.navig img').click(function() {
alert('Клик по '+($(this).index()+1)+'-ому изображению');
});
});
|
Цитата:
|
| Часовой пояс GMT +3, время: 14:34. |