2016-07-06 5 views
-1

Я использую этот код для создания <ul><li> классов, подключенных к div .lista-produtos..text() не возвращает значение

$(document).ready(function(){ 

var alts = {}; 
$('.lista-produtos').each(function(){ 
    var classes2 = $(this).attr('class').split(' '); 
    for (var i = 0; i < classes2.length; i++) { 
     var matches2 = /^tipo\-(.+)/.exec(classes2[i]); 
     if (matches2 != null) { 
     var produto = matches2[1]; 
     } 
    } 
    if(!alts[classes2]){ 
     alts[classes2] = true; 
     $('ul.filters').append('<li class="filter-produto">'+ produto +'</li>');  
    } 
}); 
}); 

Код выше генерирует <li> S внутри <ul class="filters">. Таким образом, код что-то вроде этого:

<ul class="filters"> 
<li class="filter-produto active">Produto 1<li> 
<li class="filter-produto">Produto 2<li> 
<li class="filter-produto">Produto 3<li> 
<li class="filter-produto">Produto 4<li> 
</ul> 

Как вы можете видеть, один из <li> с будет иметь дополнительный класс под названием «активный», и проблема в том, мне нужно, чтобы получить текст внутри него (Produto 1) использовать на другой код, но он не работает:

var produto2 = $('li.filter-produto.active').text(); 

Я испытал alert(produto2);, чтобы увидеть, если код работает, но он только возвращает пустое значение, а не текст внутри <li>.

+6

Я ничего не вижу в этом коде, который ставит класс 'active' на любом из элементов' li', поэтому вы не найдете его позже. –

+0

У меня есть копия/вставка вашего кода в jsfiddle, и все работает отлично. –

+0

Непонятно также, где 'tipo -' должен появиться: -? –

ответ

3

К сожалению, у меня нет комментариев для комментариев, но можете ли вы показать нам порядок происходящего?

Возможно, вы запрашиваете значение перед активным классом, прикрепленным к ли. Что-то вроде этого:

// Function to create the ul and lis 

var produto2 = $('li.filter-produto.active').text(); 

// Function that adds the active class 

Так может быть li.filter-produto.active не существует, когда вы просите его значение?

+0

Да. Это была проблема. Сейчас я чувствую отсталость, LOL. Спасибо огромное! –

+1

В среду вы преодолеете горб; п – dee

Смежные вопросы