Eu tenho uma lista não ordenada e o índice de uma li
marca nessa lista. Tenho que pegar o li
elemento usando aquele índice e mudar sua cor de fundo. Isso é possível sem repetir a lista inteira? Quer dizer, existe algum método que possa atingir essa funcionalidade?
Aqui está o meu código, que acredito que funcionaria ...
<script type="text/javascript">
var index = 3;
</script>
<ul>
<li>India</li>
<li>Indonesia</li>
<li>China</li>
<li>United States</li>
<li>United Kingdom</li>
</ul>
<script type="text/javascript">
// I want to change bgColor of selected li element
$('ul li')[index].css({'background-color':'#343434'});
// Or, I have seen a function in jQuery doc, which gives nothing to me
$('ul li').get(index).css({'background-color':'#343434'});
</script>
Respostas:
Objetos DOM não têm
css
função, use o último ...docs:
.get(index)
Retorna: Elemento.eq(index)
Retorna: jQueryfonte
Você pode usar o
.eq()
método jQuery para obter o elemento com um determinado índice.fonte
Você pode usar o método ou seletor eq :
fonte
$('ul li').eq(index).css({'background-color':'#343434'});
$('ul').find('li')
é mais rápido. [1 , 2 ]Existe outra maneira de obter um elemento por índice em jQuery usando a
:nth-of-type
pseudo classe CSS :Existem outros seletores que você pode usar com jQuery para corresponder a qualquer elemento que você precisa.
fonte
Você pode pular o jquery e apenas usar a marcação de estilo CSS:
fonte