0

リスト内の項目を表す変数セットがあります。

私もリストを持っています:

<ul>
    <li class="mylist"><a href="#">Item 1</a></li>
    <li class="mylist"><a href="#">Item 2</a></li>
    <li class="mylist"><a href="#">Item 3</a></li>
    <li class="mylist"><a href="#">Item 4</a></li>
    <li class="mylist"><a href="#">Item 5</a></li>
    <li class="mylist"><a href="#">Item 6</a></li>
</ul>

私がする必要があるのは、変数値の位置にあるリストに css クラスを追加することです。

例えば:

If myVariable = '1' then list will look like this:

<ul>
    <li class="mylist"><a href="#" class="myclass">Item 1</a></li>
    <li class="mylist"><a href="#">Item 2</a></li>
    <li class="mylist"><a href="#">Item 3</a></li>
    <li class="mylist"><a href="#">Item 4</a></li>
    <li class="mylist"><a href="#">Item 5</a></li>
    <li class="mylist"><a href="#">Item 6</a></li>
</ul>

If myVariable = '3' then list will look like this:

<ul>
    <li class="mylist"><a href="#">Item 1</a></li>
    <li class="mylist"><a href="#">Item 2</a></li>
    <li class="mylist"><a href="#" class="myclass">Item 3</a></li>
    <li class="mylist"><a href="#">Item 4</a></li>
    <li class="mylist"><a href="#">Item 5</a></li>
    <li class="mylist"><a href="#">Item 6</a></li>
</ul>

等々。

これどうやってするの?

4

3 に答える 3

2

eqインデックスで要素を選択するには、jQuery のメソッドを使用できます。

const myVariable = 3;
$('.mylist').eq(myVariable - 1).find('a').addClass('myClass');

インデックスeqが 0 ベースであると仮定することに注意してください (つまり、最初のインデックスは 1 ではなく 0 です)。それが理由myVariable - 1です。

于 2012-09-29T15:16:20.830 に答える
2
var value = 3;
$('ul li.mylist a').filter(function () {

    return $(this).text() === 'Item ' + value;

}).addClass('myclass');
于 2012-09-29T15:17:42.850 に答える
1
$("li.mylist").eq(position -1).find("a").addClass("myClass")
于 2012-09-29T15:16:55.680 に答える