ほとんどの行が表示されていない、次のようなテーブルがあります。
<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
ます。