2. 警告:非表格節點初始化
DataTables 僅會在 HTML table
元素上初始化。在任何其他元素類型上執行 DataTables 將會導致錯誤。
含義
如果您嘗試在任何其他類型的元素上初始化 DataTables,您將會收到來自 DataTables 的錯誤訊息,而不是靜默失敗,內容為
DataTables 警告:非表格節點初始化 (
{tag}
)。
其中 {tag}
會被嘗試用於初始化表格的元素的節點名稱(例如 div
、h3
等)取代。
診斷
當發生此錯誤時,通常是因為用於初始化 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 的程式碼,並修改選擇器,使其僅選擇表格節點,或更正現有選擇器中的任何錯誤。