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

您可以使用eqjQuery 中的方法按索引选择元素:

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

请注意,eq假设您的索引是基于 0 的(这意味着第一个是 0 而不是 1)。这就是它的原因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 回答