0

假设我有这样的 html 结构:如何使用 jquery 进行类似的检查:如果“tab2”“tab3 Active”之前做某事......如果“tab2”“tab3 Active”之后做其他事情?
谢谢你们!!!

 <html>
 <head>
 </head>
 <body>

 <ul class="Mytabs">
 <li class="tab1"></li>
 <li class="tab2"></li>
 <li class="tab3 Active"></li>
 <li class="tab4"></li>
 <li class="tab5"></li>

 </ul>
4

4 回答 4

3

您可以使用prev()andnext()来检查元素相对于另一个元素的位置。试试这个:

var $tab = $(".tab2");
if ($tab.prev(".active").length) {
    // tab2 is after the active tab
}
else if ($tab.next(".active").length) {
    // tab2 is before the active tab
}

使用此方法,您可以轻松更改要检查的选项卡,并且哪个选项卡上有active类都没有关系。

于 2012-04-10T08:51:07.267 回答
0
if ($('.tab2 + .tab3.Active').length) { /* do something */ }


if ($('.tab3.Active + .tab2').length) { /* do something else */ }

您可以只使用相邻的选择器 ( +)

于 2012-04-10T08:49:55.863 回答
0

查看下一个()

if ($('.tab2').next().hasClass('tab3')) {
   // tab2 before tab3
} else {
   // tab3 before tab2
}
于 2012-04-10T08:51:40.950 回答
0
if($(".tab2").parent().children().index(".tab2") < $(".tab3").parent().children().index(".tab3")) {
}
else {
}
于 2012-04-10T08:53:10.757 回答