在我的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");
这对我也不起作用。
答案 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}}