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()next()て、要素が別の要素に対してどこにあるかを確認できます。これを試して:

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").parent().children().index(".tab2") < $(".tab3").parent().children().index(".tab3")) {
}
else {
}
于 2012-04-10T08:53:10.757 に答える
0

次をチェックしてください()

if ($('.tab2').next().hasClass('tab3')) {
   // tab2 before tab3
} else {
   // tab3 before tab2
}
于 2012-04-10T08:51:40.950 に答える