How to get a class with JQuery array?

2

For example, in HTML, I have this:

<ul class="benefits">
<li>Finalização rápida e fácil</li>
<li>Múltiplos endereços de envio</li>
<li>Acesso fácil a seu histórico de pedidos e status</li>
</ul>

As you can see, there are 3 li's, how do I get [0] to [1] and [2] with JQuery?

I tried something strange, but as expected did not work:

$('ul.benefits li' + [0]).text('teste');
    
asked by anonymous 18.07.2017 / 21:15

3 answers

1

You can catch using .get :

console.log($('.benefits li').get(0));
console.log($('.benefits li').get(1));
console.log($('.benefits li').get(2));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script><ulclass="benefits">
<li>Finalização rápida e fácil</li>
<li>Múltiplos endereços de envio</li>
<li>Acesso fácil a seu histórico de pedidos e status</li>
</ul>

Or you can use eq :

console.log($('.benefits li:eq(0)').text());
console.log($('.benefits li:eq(1)').text());
console.log($('.benefits li:eq(2)').text());
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script><ulclass="benefits">
<li>Finalização rápida e fácil</li>
<li>Múltiplos endereços de envio</li>
<li>Acesso fácil a seu histórico de pedidos e status</li>
</ul>
    
18.07.2017 / 21:22
2

To get these indices just play in an array ...

var lis = [];
$('ul.benefits li').each(function(el){
	lis.push($(this).text());
})

console.log(lis);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script><ulclass="benefits">
<li>Finalização rápida e fácil</li>
<li>Múltiplos endereços de envio</li>
<li>Acesso fácil a seu histórico de pedidos e status</li>
</ul>
    
18.07.2017 / 21:21
1

You can cycle through each item and manipulate it using $.each :

$(".benefits li").each(function(idx, item){
  // para pegar
  console.log($(item).text());
  
  // para alterar
  $(item).text("texto " + idx);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script><ulclass="benefits">
  <li>Finalização rápida e fácil</li>
  <li>Múltiplos endereços de envio</li>
  <li>Acesso fácil a seu histórico de pedidos e status</li>
</ul>
    
18.07.2017 / 21:23