как найти идентификатор класса активного класса

0
<ul class="deal-menu">
   <li class="active" data-id="today-spl"><a href="#" class="first">Special<span class="active"></span></a></li>
   <li class="" data-id="today-deal"><a href="#">Deal</a><span></span></li>
   <li class="" data-id="today-spl"><a href="#" class="last">TDeal<span></span></a></li>
</ul>

мой код jquery

function addcls() {
        var current = $('.deal-menu li.active').removeClass('active'),
            next = current.next().length ? current.next() : current.siblings().filter(':first');
        next.addClass('active');
        var val = $(this).data("id");
        alert(val);
    };

 setInterval(function () {
        addcls();
       }, 3000);

мне нужно найти значение идентификатора активного класса, его показывая неопределенное значение

  • 0
    Он должен работать. Вы уверены, что $ (this) - это хороший элемент, который вы хотите? Попробуйте console.log, чтобы проверить это.
  • 0
    Вы также можете попробовать использовать $(this).attr('data-id') .
Показать ещё 1 комментарий
Теги:

5 ответов

2
Лучший ответ

использовать:

$('li.active').data('id')
0
var val = $('li.active').attr('data-id');
alert(val);

http://jsfiddle.net/MHdN9/

0

В вашем случае вы также можете использовать:

var val = next.attr('data-id');

Поскольку вы назначаете класс активным для объекта 'next'

0

пытаться

alert($(".active").attr(" data-id"));
0

У вас уже есть цель внутри переменной, поэтому используйте ее:

var val = next.addClass('active').data("id");

$(this) в вашем случае - это window так как вы находитесь в функции, вызванной таймаутом.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню