Javascript.RU

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

какой по счёту li
Когда обращаюсь к элементу делаю так:
$("body").find("ul#list li").eq(n);
А вот как узнать какой n при $("body").find("ul#list li.now")
ТОбеж мне надо узнать какой элемент(номер) имеет класс now.
Ответить с цитированием
  #2 (permalink)  
Старый 13.11.2010, 06:29
Профессор
Отправить личное сообщение для exec Посмотреть профиль Найти все сообщения от exec
 
Регистрация: 21.01.2010
Сообщений: 1,022

var object = $("body").find("ul#list li")[n];
$("body").find("ul#list li.now").each(function (i) {
	if (this == object)
		alert(i);
});
Ответить с цитированием
  #3 (permalink)  
Старый 13.11.2010, 06:39
Аспирант
Отправить личное сообщение для vanderv Посмотреть профиль Найти все сообщения от vanderv
 
Регистрация: 22.10.2009
Сообщений: 60

заранее не известно под каким n находится класс now
Ответить с цитированием
  #4 (permalink)  
Старый 13.11.2010, 08:07
Особый гость
Посмотреть профиль Найти все сообщения от monolithed
 
Регистрация: 02.04.2010
Сообщений: 4,260

<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>
Ответить с цитированием
  #5 (permalink)  
Старый 13.11.2010, 08:33
Аватар для micscr
Профессор
Отправить личное сообщение для micscr Посмотреть профиль Найти все сообщения от micscr
 
Регистрация: 10.09.2009
Сообщений: 1,566

var $now = $("body").find("ul#list li.now");
var $all = $("body").find("ul#list li");
alert($all.index($now));

- сам принцип
Ответить с цитированием
  #6 (permalink)  
Старый 13.11.2010, 21:41
Аспирант
Отправить личное сообщение для vanderv Посмотреть профиль Найти все сообщения от vanderv
 
Регистрация: 22.10.2009
Сообщений: 60

<ul>
<li></li>
<li></li>
<li></li>
</ul>
Вот три li. При обращении к ним $("body").find("ul#list li").eq(n), n может быть равно 0, 1, 2.
А мне надо знать какой из этих li имеет класс now. Его номер, дабы потом к нему можно обратиться. Понимаете? Вы мне дали функции которое вообще ищут общее количество li c классом now.
Ответить с цитированием
  #7 (permalink)  
Старый 13.11.2010, 22:21
Кандидат Javascript-наук
Отправить личное сообщение для abc_ua Посмотреть профиль Найти все сообщения от abc_ua
 
Регистрация: 20.05.2010
Сообщений: 105

var c = 0;
$("body").find("ul#list li").each(function () {
	if (this.className == "now")
		alert(c);
	c++;
});
Ответить с цитированием
  #8 (permalink)  
Старый 14.11.2010, 00:09
Особый гость
Посмотреть профиль Найти все сообщения от monolithed
 
Регистрация: 02.04.2010
Сообщений: 4,260

Сообщение от vanderv
Понимаете? Вы мне дали функции которое вообще ищут общее количество li c классом now.
Не пишите бред, я вам привел код, который при клике на элемент с классом "now" показывает его порядковый номер.
Ответить с цитированием
  #9 (permalink)  
Старый 14.11.2010, 01:13
Аспирант
Отправить личное сообщение для vanderv Посмотреть профиль Найти все сообщения от vanderv
 
Регистрация: 22.10.2009
Сообщений: 60

Сообщение от monolithed Посмотреть сообщение
Не пишите бред, я вам привел код, который при клике на элемент с классом "now" показывает его порядковый номер.
Уверены? запустите свой скрипт и нажмите.
<ul>
<li>li</li>
<li class="now">now</li>
</ul>
вот тут он выводит 0, а должен 1.
Ответить с цитированием
  #10 (permalink)  
Старый 14.11.2010, 01:24
Особый гость
Посмотреть профиль Найти все сообщения от monolithed
 
Регистрация: 02.04.2010
Сообщений: 4,260

Сообщение от vanderv
вот тут он выводит 0, а должен 1.
Не должен.
Порядковый номер элемента соответствует его индексу, а значение первого индекса по-умолчанию - 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>
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вопрос по 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