Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 14.11.2010, 01:46
Аспирант
Отправить личное сообщение для vanderv Посмотреть профиль Найти все сообщения от vanderv
 
Регистрация: 22.10.2009
Сообщений: 60

Сообщение от monolithed Посмотреть сообщение
Не должен.
Порядковый номер элемента соответствует его индексу, а значение первого индекса по-умолчанию - 0.

В следующий раз конкретней формулируйте задачу!
<script src="http://code.jquery.com/jquery.min.js" type="text/javascript"></script>

<ul>
    <li>li</li>
    <li class="now">now</li>
</ul>
<ul>
    <li>li</li>
    <li class="now">now</li>
</ul>

<script type="text/javascript">
$(function(){
    $('li[class="now"]').each(function(i){
        $(this).click(function(){
            *!*
            alert(++i);
            */!*
        });
    });
});
</script>
Это тоже не то. Я уже запутался, давайте попробуем занаво.

Есть некий список
<ul>
<li></li>
<li></li>
<li></li>
......
<li></li>
</ul>

Возьмём на примере вашу функцию. Так вот, если у нас будет так:
<ul>
<li></li>
<li class="now"></li>
<li></li>
......
<li></li>
</ul>

То при нажатии alert должен быть 1, если так:
<ul>
<li></li>
<li></li>
<li class="now"></li>
......
<li></li>
</ul>

то 2... и тд. Ваша же функция делает общий поиск... По крайне мере первый вариант. 2-ой я пока не могу понять что дает. Что значит общий? Это если у на с будет вот так:
<ul>
 <li></li>
 <li class="now"></li>
 <li></li>
</ul>
<ul>
 <li></li>
 <li class="now"></li>
 <li></li>
</ul>
<ul>
 <li></li>
 <li class="now"></li>
 <li></li>
</ul>

то при нажатии на первый ul li[class=now] alert выдаст 0, на второй нажимаешь выдает 1 и последний выдаст 2... А мне надо что бы во всех трёх случаях ваша функция выдавала 1. Тепепь понимаете что мне нужно?
Ответить с цитированием
  #12 (permalink)  
Старый 14.11.2010, 01:57
Особый гость
Посмотреть профиль Найти все сообщения от monolithed
 
Регистрация: 02.04.2010
Сообщений: 4,260

Сообщение от vanderv
А мне надо что бы во всех трёх случаях ваша функция выдавала 1

<script src="http://code.jquery.com/jquery.min.js" type="text/javascript"></script>

<ul>
    <li>li</li>
    <li class="now">now</li>
</ul>
<ul>
    <li>li</li>
    <li class="now">now</li>
</ul>

<script type="text/javascript">
$(function(){
    $('li[class="now"]').each(function(){
        $(this).click(function(){
            alert(1);
        });
    });
});
</script>
Ответить с цитированием
  #13 (permalink)  
Старый 14.11.2010, 03:04
Аспирант
Отправить личное сообщение для vanderv Посмотреть профиль Найти все сообщения от vanderv
 
Регистрация: 22.10.2009
Сообщений: 60

Сообщение от monolithed Посмотреть сообщение
<script src="http://code.jquery.com/jquery.min.js" type="text/javascript"></script>

<ul>
    <li>li</li>
    <li class="now">now</li>
</ul>
<ul>
    <li>li</li>
    <li class="now">now</li>
</ul>

<script type="text/javascript">
$(function(){
    $('li[class="now"]').each(function(){
        $(this).click(function(){
            alert(1);
        });
    });
});
</script>
Вы издеваетесь? Читайте внимательнее что требуется.
Ответить с цитированием
  #14 (permalink)  
Старый 14.11.2010, 03:57
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,112

vanderv,
<ul>
    <li >li</li>
    <li class="now">now</li>
    <li class="now">now</li>
    <li >li</li>
</ul>
<ul>
    <li>li</li>
    <li class="now">now</li>
</ul>
<script  type="text/javascript">
for (var u = document.getElementsByTagName("ul"), i = 0; i < u.length; i++) {
    l = u[i].getElementsByTagName("li");
    for (var k = 0; k < l.length; k++)
    if (l[k].className == "now") l[k].onclick = function (a) {
        return function () {
            alert(a)
        }
    }(k)
};
</script>
Ответить с цитированием
  #15 (permalink)  
Старый 14.11.2010, 11:26
Аватар для micscr
Профессор
Отправить личное сообщение для micscr Посмотреть профиль Найти все сообщения от micscr
 
Регистрация: 10.09.2009
Сообщений: 1,577

<script src="http://code.jquery.com/jquery.min.js" type="text/javascript"></script>
 
<ul>
    <li>li0</li>
    <li>li1</li>
    <li class="now">now2</li>
</ul>
<hr>
<ul>
    <li>li0</li>
    <li>li1</li>
    <li>li2</li>
    <li class="now">now3</li>
</ul>
 
<script type="text/javascript">
$(function(){
  $('ul').click(function(){
         var $this = $(this);
	 var $lis = $this.find('li');
	 var $li1 = $this.find('li.now');
	 var ind = $lis.index($li1);
         alert(ind);
  });
});
</script>
Ответить с цитированием
  #16 (permalink)  
Старый 14.11.2010, 21:26
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,112

ещё вариант ))) порядковый номер элемента с заданным классом относительно родителя
<script src="http://code.jquery.com/jquery.min.js" type="text/javascript"></script>
<ul>
    <li>li</li>
    <li class="now">now</li>
</ul>
<ul>
    <li>li</li>
    <li class="now">now</li>
    <li>li</li>
    <li class="now">now</li>
</ul>
<ul>
    <li class="now">now</li>
    <li>li</li>
    <li class="now">now</li>
    <li>li</li>
    <li class="now">now</li>
</ul>
<script type="text/javascript">
$(function () {
    $("li.now").click(function () {
            alert($(this).index())
        })
    })
</script>

Последний раз редактировалось рони, 04.01.2017 в 13:02.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вопрос по jquery - как узнать какой тэг? APL Общие вопросы Javascript 7 09.06.2016 15:22
Какой хостинг лучше взять Hetengected Оффтопик 12 18.11.2010 14:30
какой код клавиши у кнопки cmd у apple demi Events/DOM/Window 2 25.02.2010 11:32
Какой способ задания значения переменной в javascript коде корректен user_robot Общие вопросы Javascript 3 08.12.2009 17:25
Как узнать на какой ссылке кликнули Rush_e jQuery 1 02.11.2009 20:08