2

jQueryを使用して、テーブルの3行目以降のすべての行を非表示にします。これが私のアプローチです:

<table>
    <tr id="duplicate">
        <td style="text-align:center;">1</td>
    </tr>
    <tr id="duplicate">
        <td style="text-align:center;">2</td>
    </tr>
    <tr id="duplicate">
        <td style="text-align:center;">3</td>
    </tr>
    <tr id="duplicate">
        <td style="text-align:center;">4</td>
    </tr>
    <tr id="duplicate">
        <td style="text-align:center;">5</td>
    </tr>
</table>

jQuery:

$(document).ready(function() {
    $('#duplicate'):nth-child(n+3).hide();
    alert('123');
});

もちろん、アラートは問題なく表示されるため、実行されますが、テーブルに結果は表示されません。

4

7 に答える 7

8

idそれぞれに同じものを使用しないでtrください...決して。IdHTMLで一意の名前があります。警告は表示されませんが、コードは正しく処理されません。

idの代わりにclassを使用してください。

 <tr class="duplicate">
        <td style="text-align:center;">1</td>
    </tr>
    <tr class="duplicate">
        <td style="text-align:center;">2</td>
    </tr>
    <tr class="duplicate">
        <td style="text-align:center;">3</td>
    </tr>
    <tr class="duplicate">
        <td style="text-align:center;">4</td>
    </tr>
    <tr class="duplicate">
        <td style="text-align:center;">5</td>
    </tr>
...

およびJavascript:

$(document).ready(function() {
    $('.duplicate:gt(2)').hide();
    alert('123');
});
于 2012-09-04T12:31:52.437 に答える
4

まず、ID名は一意である必要があります。クラスを使用する必要があります。

$(document).ready(function() {
    $('.duplicate:gt(2)').hide();
});
于 2012-09-04T12:32:44.777 に答える
3

gt()セレクターを使用する

 $('.duplicate').gt(2).hide();
于 2012-09-04T12:33:27.407 に答える
3

テーブルのためだけに、全員にIDを設定しないでください:

<table id="duplicate">
    <tr>
        <td style="text-align:center;">1</td>
    </tr>
    <tr>
        <td style="text-align:center;">2</td>
    </tr>
    <tr>
        <td style="text-align:center;">3</td>
    </tr>
    <tr>
        <td style="text-align:center;">4</td>
    </tr>
    <tr>
        <td style="text-align:center;">5</td>
    </tr>

</table>

そして、スクリプトを次のように変更します。

$(document).ready(function() {
    $('#duplicate tr:nth-child(n+3)').hide();
    alert('123');
});

デモ

于 2012-09-04T12:34:33.437 に答える
1

わかりました、まず、ID属性を使用しないでくださいIDをクラスに置き換えてください...

<table>
    <tr class="duplicate">
        <td style="text-align:center;">1</td>
    </tr>
    <tr class="duplicate">
        <td style="text-align:center;">2</td>
    </tr>
    <tr class="duplicate">
        <td style="text-align:center;">3</td>
    </tr>
    <tr class="duplicate">
        <td style="text-align:center;">4</td>
    </tr>
    <tr class="duplicate">
        <td style="text-align:center;">5</td>
    </tr>

$('.duplicate').gt(2).hide();

うまく仕事をする必要があります...

于 2012-09-04T12:33:13.407 に答える
1

これを試して:

$(document).ready(function() {
 $("table tr:first").nextAll().hide();
));

異なる識別子をすべてに設定します<tr>

于 2012-09-04T12:34:39.183 に答える
0

これを試して

 $(document).ready(function ()
{

    $("table tr").each(function (indx, ob)
    {

        if (indx > 2)
        {
            $(ob).hide();
        }
    })


});​

フィドル: http: //jsfiddle.net/w3yjH/

于 2012-09-04T12:34:13.823 に答える