如何在jQuery中获取以前的<li> </li>

时间:2011-07-18 04:29:03

标签: jquery jquery-ui

在我的jQuery应用程序中,我使用列表项创建了选项卡。

我想使用jQuery获取当前列表项的上一个列表项。

if ($("#tabs li.current").length == 0 && $("#tabs li").length > 0) {

    $("#tabs li.current").prev().addClass("current"); // i tried like this...
}

但它对我不起作用。请帮帮我。


谢谢。我试过这个。它对我也不起作用。

我想在删除当前的那个时找到前一个。我认为在执行这行代码时会删除当前列表项。

我尝试使用列表项ID:

$("#tabs li").find("#" + tabName+"1").addClass("current"); 

这对我也不起作用。

2 个答案:

答案 0 :(得分:4)

试试这个:

$("#tabs li.current").prev().andSelf().toggleClass("current");

答案 1 :(得分:1)

看起来您的问题出在if语句中,即

if($("#tabs li.current").length == 0 ...

这表示“如果<li>元素中没有current个元素tabs,则会在ID为$("#tabs li.current").prev().addClass("current");的元素中添加.prev()

因此,只要您执行执行hasClass('current'),就找不到任何元素,因此.prev().addClass('current')没有任何内容可以找到前一个元素。

如果要在删除当前标签时执行此操作,请在删除标签时添加检查以查看是否{{1}},如果是,请在删除标识符之前使用{{1}}