设置在jQuery中选择的当前列表项

时间:2011-12-05 16:56:58

标签: jquery

我有一个项目清单;每次列表中的项目数量都不同:

<li id='item1'>number_1<li>
<li id='item2'>number_2<li>
…
<li id='itemn'>number_n<li>

当用户选择项目时。我想将项目设置为选中。 在我的代码中。我可以得到每个项目的ID。我的问题是我无法将项目设置为选中;例如。如果我得到item2。我希望该项目成为

<li id='item2' class="selected" >number_2<li>
     

因为id是mycode中的变量。我在jquery脚本中尝试了很多方法。像:

$("#id").addClass('selected'); // doesn't work;
$("li" id).addClass('selected'); // doesn't work;
$("#" id).addClass('selected'); // doesn't work;
$($this. id).addClass('selected'); // doesn't work;
我在网上搜索过,也许这是一个太简单的探测器,我没有找到类似的问题和答案。任何人都可以帮帮我。谢谢!

5 个答案:

答案 0 :(得分:2)

您需要将#连接到您的ID,如下所示:

$("#" + id).addClass('selected');

您的代码应如下所示(无需将ID存储在您提到的变量中):

$("li").click(function () {
    $(this).siblings().find(".selected").removeClass("selected");
    $(this).addClass("selected");
});

答案 1 :(得分:1)

我认为你正在寻找

$('#'+id).addClass('selected');
// or
$(this).addClass('selected');

但这取决于您尝试执行此代码的位置。

答案 2 :(得分:1)

如果您在尝试设置此项时位于点击处理程序中,最简单的是:

$(this).addClass('selected');

如果您有变量id,但不在点击处理程序中,则需要:

$('#'+id).addClass('selected');

答案 3 :(得分:1)

试试这个

$('li').click(function() {
    $(this).addClass('selected');
});

答案 4 :(得分:0)

$("#id").addClass('selected'); // doesn't work;

这应该可行,在使用此代码之前导入您的jquery。