4

最初の要素が見つかるまですべての要素を非表示にする方法を知りたい<hr/>です。その後、ループは停止するはずです

    <div class='row-father'>
   <legend> Title here </legend>
        <div class="row-fluid">...</div>
        <div class="row-fluid">...</div>
        <hr/>
        <div class="row-fluid">...</div>
        <div class="row-fluid">...</div>
        <div class="row-fluid">...</div>
        <div class="row-fluid">...</div>
        <hr/>
        <div class="row-fluid">...</div>
        <div class="row-fluid">...</div>
        <hr/>
    </div>

...

$('.row-father').find('*').each(function(){
    if ($(this) != '<hr/>')
        $(this).hide();
});
4

4 に答える 4

9

これを使用してください: http://api.jquery.com/prevall/$('.row-father > hr:first').prevAll(':not(legend)').hide(); を参照してください。

于 2013-01-28T15:01:08.137 に答える
1

を使用してこれを検出できます.is('hr')

コード:

$('.row-father').find('*').each(function() {
     if (!$(this).is('hr')) {
         $(this).hide();
     }
     else {
         return false;
     }
});

例はここにあります。

于 2013-01-28T15:08:54.150 に答える
1

$('.row-father').find('hr').eq(0).prevAll('.row-fluid').hide();

デモ

于 2013-01-28T15:24:14.683 に答える
0

あなたも使うことができます

$('.row-fluid:first').nextUntil("hr").andSelf().hide();

http://jsfiddle.net/gDGmX/3/

編集:

div を含むテキストに置き換えたい場合<hr/>、たとえば次のようになります。

   <div class='row-father'>
   <legend> Title here </legend>
        <div class="row-fluid">...</div>
        <div class="row-fluid">...</div>
        <div>test</div>
        <div class="row-fluid">...</div>
        <div class="row-fluid">...</div>
        <div class="row-fluid">...</div>
        <div class="row-fluid">...</div>
        <hr/>
        <div class="row-fluid">...</div>
        <div class="row-fluid">...</div>
        <hr/>
    </div>

このコードを試すことができます:

$('.row-fluid:first').nextUntil("div>:contains('test')").andSelf().hide();
于 2013-01-28T15:08:20.717 に答える