Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Помогите получить атрибут из списка элементов (https://javascript.ru/forum/jquery/61140-pomogite-poluchit-atribut-iz-spiska-ehlementov.html)

Jigan2 06.02.2016 11:03

Помогите получить атрибут из списка элементов
 
Здравствуйте! Есть список такого вида.
<div class="ad-thumbs">
          <ul class="ad-thumb-list" style="width: 1520px;">
                        <li> <a href="" value="15" id="15" class="ad-thumb15 ad-active"> <span class="thumb"><i></i> <img nctype="thumb" title="" start_id="15" src="" style="opacity: 1;">
              <input type="hidden" value="">
              </span> </a> </li>
                        <li> <a href="" value="14" id="14" class="ad-thumb14"> <span class="thumb"><i></i> <img nctype="thumb" title="f02" start_id="14" src="" style="opacity: 0.7;">
              <input type="hidden" value="">
              </span> </a> </li>
                      </ul>
        </div>

Подскажите как мне получить id следующего элемента за а[class=ad-active]. Т.е. мне нужно получить id='14'
<a href="" value="14" id="14" class="ad-thumb14"> <span class="thumb"><i></i> <img nctype="thumb" title="f02" start_id="14" src="" style="opacity: 0.7;">


Я понимаю что это очень просто, но уже мозги не варят и в jQuery не силен. Заранее благодарен!

laimas 06.02.2016 11:09

Цитата:

Сообщение от Jigan2
следующего элемента за а[class=ad-active]

За ним нет элементов. Если такое условие, наверное это по событию на ad-active нужно делать?

Jigan2 06.02.2016 14:04

А если допустим я знаю id текущего элемента а[class=ad-active]
как мне получить id следующего a[class="ad-thumb14"].

рони 06.02.2016 14:12

Jigan2,
автопрокрутку мастерите?

Jigan2 06.02.2016 14:23

ага

рони 06.02.2016 14:32

Jigan2,
var a = $(".ad-thumbs a");
       var i = a.index($('.ad-active'));
       i = ++i % a.length
       alert(a.eq(i)[0].id)

Jigan2 06.02.2016 14:39

я по другому сделал. Добавил к li атрибут id и таким макаром получаю следующий элемент.
var next_tumb = $('li[id="'+this.current_index+'"]').next().attr('id');

Теперь надо реализовать запуск сначала если дошел до конца списка.

рони 06.02.2016 14:44

Цитата:

Сообщение от Jigan2
Теперь надо реализовать запуск сначала если дошел до конца списка.

смотрите код выше :)
тут полная реализация
http://javascript.ru/forum/jquery/61...put-radio.html

Jigan2 06.02.2016 14:55

Цитата:

Сообщение от рони (Сообщение 406551)
смотрите код выше :)
тут полная реализация
http://javascript.ru/forum/jquery/61...put-radio.html

В данный момент так реализована. Мне так не подходит. потому что пользователь может открыть фотографию с любой страницы сайта из любого альбома. а я заранее не знаю позицию и количество этих фотографий. поэтому хочу переделать открытие по id фото. http://www.floomby.ru/s1/CgQ3FB

Подскажите чтобы долго не искать. как посчитать количестово элементов li в ul class="ad-thumb-list", позицию текущего элемента зная его id и как получить id первого элемента. Т.е. хочу реализовать перекидывание пользователя к первой фото из альбома если он долистал до конца списка и снова листает вперед. Пожалуйста! )

Jigan2 06.02.2016 15:47

Вот я тормоз. После изобретения велосипеда я решил попробовать ваш код. И о боже он работает и ничего изобретать не надо. Большое спасибо. Век живи век учись.

Keramet 07.02.2016 18:49

var a =  $('a[class^=ad-thumb'),
 id = a[ a.index($("a.ad-active"))+1 ].id;

рони 07.02.2016 18:56

Keramet,
:blink:

Keramet 07.02.2016 19:43

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<script>
		$(function(){
			var a =  $('a[class^=ad-thumb]'),
			  id = a[ a.index($("a.ad-active"))+1 ].id;
			alert(id);
});
</script>

<div class="ad-thumbs">
		<ul class="ad-thumb-list" style="width: 1520px;">
			<li>
				<a href="" value="15" id="15" class="ad-thumb15 ad-active">
					<span class="thumb"><i></i> <img nctype="thumb" title="" start_id="15" src="" style="opacity: 1;">
					<input type="hidden" value=""></span>
				</a>
			</li>
            <li>
				<a href="" value="14" id="14" class="ad-thumb14">
					<span class="thumb"><i></i> <img nctype="thumb" title="f02" start_id="14" src="" style="opacity: 0.7;">
					<input type="hidden" value=""></span>
				</a>
			</li>
        </ul>
	</div>

Keramet 07.02.2016 19:47

рони,
а что вас так удивило ?

рони 07.02.2016 19:57

Keramet,
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<script>
		$(function(){
			var a =  $('a[class^=ad-thumb'),
			  id = a[ a.index($("a.ad-active"))+1 ].id;
			alert(id);
});
</script>

<div class="ad-thumbs">
		<ul class="ad-thumb-list" style="width: 1520px;">
			<li>
				<a href="" value="15" id="15" class="ad-thumb15">
					<span class="thumb"><i></i> <img nctype="thumb" title="" start_id="15" src="" style="opacity: 1;">
					<input type="hidden" value=""></span>
				</a>
			</li>
            <li>
				<a href="" value="14" id="14" class="ad-thumb14 ad-active">
					<span class="thumb"><i></i> <img nctype="thumb" title="f02" start_id="14" src="" style="opacity: 0.7;">
					<input type="hidden" value=""></span>
				</a>
			</li>
        </ul>
	</div>

Keramet 07.02.2016 20:04

рони,
интересно, почему в вашем варианте моего кода не срабатывает alert?

рони 07.02.2016 20:07

Keramet,
потому что нет элемента +1

Keramet 07.02.2016 20:12

рони,
а, понял )) Задача была найти элемент после, а если это последний элемент - что тогда выбирать? выбрать id первой ссылки с классом ad-thumb... ?

рони 07.02.2016 20:32

Keramet,
да

Keramet 08.02.2016 11:17

рони,
ну тогда добавим проверку. что-то типа такого:
var a = $('a[class^=ad-thumb]'),
	n =  a.index($("a.ad-active")),
	id;
			
	n = (n == a.length-1) ? 0 : n+1;
	id = a[n].id;


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