2. 警告:非表格節點初始化

DataTables 僅會在 HTML table 元素上初始化。在任何其他元素類型上執行 DataTables 將會導致錯誤。

含義

如果您嘗試在任何其他類型的元素上初始化 DataTables,您將會收到來自 DataTables 的錯誤訊息,而不是靜默失敗,內容為

DataTables 警告:非表格節點初始化 ({tag})。

其中 {tag} 會被嘗試用於初始化表格的元素的節點名稱(例如 divh3 等)取代。

診斷

當發生此錯誤時,通常是因為用於初始化 DataTable 的 jQuery 選擇器中出現選擇器錯誤。這可能是因為選擇器指向了錯誤的元素類型,或者選擇器範圍太廣。

以下列 HTML 作為這兩種情況的範例

<div id="demo" class="display">
    <table class="display">...</table>
</div>

那麼,以下選擇器將會導致錯誤

// Select wrong element
// Error as #demo is the `div` element
$('#demo').dataTable()

// Selector too broad.
// Error as `.display` is applied to both the div and the table
$('.display').dataTable(); 

解決方案

如果您遇到此錯誤,請檢查您使用 $().dataTables() 方法選擇節點以轉換為 DataTables 的程式碼,並修改選擇器,使其僅選擇表格節點,或更正現有選擇器中的任何錯誤。