Mam nieuporządkowaną listę i indeks li
znacznika na tej liście. Muszę pobrać li
element za pomocą tego indeksu i zmienić jego kolor tła. Czy jest to możliwe bez zapętlania całej listy? To znaczy, czy jest jakaś metoda, która mogłaby osiągnąć taką funkcjonalność?
Oto mój kod, który moim zdaniem zadziała ...
<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>
Odpowiedzi:
Obiekty DOM nie mają
css
funkcji, użyj ostatniego ...dokumenty:
.get(index)
Zwroty: Element.eq(index)
Zwraca: jQueryźródło
Możesz użyć
.eq()
metody jQuery, aby uzyskać element o określonym indeksie.źródło
Możesz użyć metody eq lub selektora :
źródło
$('ul li').eq(index).css({'background-color':'#343434'});
$('ul').find('li')
jest szybszy. [1 , 2 ]Istnieje inny sposób uzyskania elementu po indeksie w jQuery przy użyciu
:nth-of-type
pseudoklasy CSS :Istnieją inne selektory , których możesz użyć z jQuery, aby dopasować dowolny element, którego potrzebujesz.
źródło
Możesz pominąć jquery i po prostu użyć tagowania w stylu CSS:
źródło