10

.focus div の後の最初の not(.hidden) div を取得しようとしています。この例では、フォーカスは X2 です。X3 と X4 は非表示になっているためスキップして、X5 に戻る必要があります。

<div id='CONTAINER'>
    <div id='X1'>eks1</div>
    <div id='X2' class='focus'>eks2</div>
    <div id='X3' class='hidden'>eks3</div>
    <div id='X4' class='hidden'>eks4</div>
    <div id='X5'>eks5</div>
    <div id='X6'>eks6</div>
</div>

これはかなり単純なjqueryの質問であるように思えますが、私はこのことにかなり慣れていません。

4

5 に答える 5

24

以下のステートメントはあなたの問題を解決するはずです。 $("#CONTAINER").find("div.focus").nextAll("div").not(".hidden").first();

于 2012-04-20T05:07:52.487 に答える
1

これを試して!

$("#CONTAINER").find("div.focus").next('div[class!="hidden"]')
于 2012-04-20T05:28:19.977 に答える
0

これを試して:

var stop = true;
$('#CONTAINER> div.focus +div').each(function(){
    if(!$(this).hasClass('hidden') && stop) code
    else stop = false;
});
于 2016-09-28T07:40:34.417 に答える