我有一个表示列表中项目的变量集。
我也有名单:
<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>
等等。
我该怎么做?
答案 0 :(得分:2)
您可以使用jQuery中的eq
方法按索引选择元素:
const myVariable = 3;
$('.mylist').eq(myVariable - 1).find('a').addClass('myClass');
请注意eq
假设您的索引是从0开始的(这意味着第一个是0而不是1)。这就是为什么它myVariable - 1
。
答案 1 :(得分:2)
var value = 3;
$('ul li.mylist a').filter(function () {
return $(this).text() === 'Item ' + value;
}).addClass('myclass');
答案 2 :(得分:1)
$("li.mylist").eq(position -1).find("a").addClass("myClass")