編集:これは、sScrollX を使用している場合にのみ発生します。-- http://jsfiddle.net/4n3Hp/ -- 残念ながら、この特定のユースケースには必要です。
フラッシュの使用と私の状況では最適ではない動作が原因で、tabletools が機能しないため、Excel エクスポートを作成しようとしています。必要なセル情報をすべて抽出しましたが、DataTables はヘッダーで奇妙なことをしています。
listTableのdivを想定しています(これは一般的ですが、例では機能します)私は試しました
$('#listTable').dataTable().fnSettings().nTable.getElementsByTagName('thead')
変更されていることを除いて、テーブルのヘッダー行を取得します。
<th class="sorting" role="columnheader" tabindex="0"
aria-controls="listTable" rowspan="1" colspan="1"
style="width: 130px; padding-top: 0px; padding-bottom: 0px;
border-top-width: 0px; border-bottom-width: 0px; height: 0px;"
aria-label="Email Recipients: activate to sort column ascending"></th>
元のヘッダーテキストが削除されていることを除いて、これは問題ありません。まさに私が必要とするものです。
DOM を見ると、2 つの実際のテーブルがあり、そのうちの 1 つはセル データを持ち、新しいテーブルは「datatables_scrollHeadInner」クラスの div でカプセル化されていることがわかります。(ページに複数のテーブルがある場合、一般的な解決策を提供するときに問題になります。)
ハックアラウンドの解決策があると思いますが(aria-labelからプルしてコロンで区切り、ヘッダーにコロンを使用しないか、厄介なjqueryナビゲーションを実行します)、よりエレガントに抽出する方法を知りたいですdataTable からのヘッダー。