2014-02-20 3 views
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, чтобы проверить это. – vekah

+0

Вы можете попробовать использовать '$ (this) .attr ('data-id')' тоже. – vekah

+0

Вы добавляете активный класс в 'next', поэтому используйте' next.data ("id"); ' –

ответ

2

использование:

$('li.active').data('id') 
0

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

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

Поскольку вы назначаете класс активного к объекту «рядом»

0

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

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

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

0

попробовать

alert($(".active").attr(" data-id")); 
Смежные вопросы