Я использую этот код для создания <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>
.
Я ничего не вижу в этом коде, который ставит класс 'active' на любом из элементов' li', поэтому вы не найдете его позже. –
У меня есть копия/вставка вашего кода в jsfiddle, и все работает отлично. –
Непонятно также, где 'tipo -' должен появиться: -? –