2

ほとんどの行が表示されていない、次のようなテーブルがあります。

<table id="myTable" class="tablesorter">
    <thead>
        <tr>
            <th>header1</th>
            <th>header2</th>
            ...
        </tr>
    </thead>
    <tbody>
        <tr style="display:none;">
            <td>content1</td>
            <td>content2</td>
            ...
        </tr>
        <tr style="display:none;">
            <td>content1</td>
            <td>content2</td>
            ...
        </tr>
        <tr>
            <td>content1</td>
            <td>content2</td>
            ...
        </tr>
        ...
    </tbody>
</table>

テーブルに表示されているすべての行にアクセスし、各セルの値を連結して、CSV に出力される文字列にしようとしています。私はいくつかのjQueryコードを持っていますが、現時点ではあまり進んでいません:

<input type="button" value="Export" id="csv-export" />

<script type="text/javascript">
    $(function () {
        $("#csv-export").click(function () {
            var csvStr = "";
            $("#myTable tr:visible td").each(function () {   //for each td in each visible row
                if ($(this).has("a") == false) {   //if the td does not contain a link
                    csvStr += $(this).html();   //Append the td's html
                }
            });
            $.get('@Url.Action("CSVExport")', { csv: csvStr });
        });
    });
</script>

$("#myTable tr:visible td").each(function () {が失敗しています。ここで何か助けはありますか?私はこのタイプのコードを書くのは少し素人です。このコードで、tr設定されていないすべての要素を選択display: noneし、これらのそれぞれについて、すべての要素を選択してアクセスしtdます。

4

2 に答える 2