Ich habe eine ungeordnete Liste und den Index eines li
Tags in dieser Liste. Ich muss das li
Element mithilfe dieses Index abrufen und seine Hintergrundfarbe ändern. Ist dies möglich, ohne die gesamte Liste zu durchlaufen? Ich meine, gibt es eine Methode, mit der diese Funktionalität erreicht werden kann?
Hier ist mein Code, von dem ich glaube, dass er funktionieren würde ...
<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>
Antworten:
DOM-Objekte haben keine
css
Funktion, verwenden Sie die letzte ...docs:
.get(index)
Rückgabe: Element.eq(index)
Rückgabe: jQueryquelle
Sie können die
.eq()
Methode von jQuery verwenden, um das Element mit einem bestimmten Index abzurufen.quelle
Sie können die eq-Methode oder den Selektor verwenden :
quelle
$('ul li').eq(index).css({'background-color':'#343434'});
$('ul').find('li')
jedoch schneller. [1 , 2 ]Es gibt eine andere Möglichkeit, ein Element anhand des Index in jQuery mithilfe der CSS
:nth-of-type
- Pseudoklasse abzurufen :Es gibt andere Selektoren , die Sie mit jQuery verwenden können, um mit jedem Element übereinzustimmen, das Sie benötigen.
quelle
Sie können die Abfrage überspringen und einfach das Tagging im CSS-Stil verwenden:
quelle