我想滾動到具有DataTable中特定ID的行。以下是它的代碼。無法在DataTable中通過ID獲取元素
function scroll_row(int_id) {
var obj_element = document.getElementById(int_id);
if(obj_element != null) {
var int_scroll_pos = obj_element.offsetTop;
$('#myTable').parent().scrollTop(int_scroll_pos-10);
}
}
但這樣做的問題是,obj_element
是給我空,同時通過ID得到它。
例如,如果我的數據表中有50行,並且嘗試給出第40個元素的id,而滾動位於頂部則返回空值。
但是,當我向下滾動某處接近該元素。它會返回getElementById的值。
我不知道這裏有什麼問題。任何人都知道這件事?
我也嘗試過做這樣https://datatables.net/forums/discussion/33/using-fngetposition-to-find-a-tr-by-id
$("#myTable").fnGetPosition(document.getElementById("262617"))
但在這種情況下,它說fnGetPosition不是一個函數。
這是我的數據表是如何
tableSettings = {
...
}
var myTable = $('#myTable').DataTable(tableSettings);
我無法理解什麼是在這兩個我提到的情況發生。希望得到一些幫助。謝謝:)
編輯 - 添加圖像與例子
使用id = 140876的一個是數據表的最後一排的TR。如果我向上滾動到數據表的第一個元素並嘗試document.getElementById(「140876」),它會讓我爲空。但是如果我滾動到底部,我會得到價值。每隔一行也一樣。當我向上滾動時,向下的行將返回null。
P.S.必須刪除第一張圖片,現在我只能添加1個鏈接。
你能請提供一個生成的HTML標記的例子? –
我不太清楚你需要什麼。我爲fnGetPosition錯誤拍了截圖。在其他情況下,當我控制檯登錄getElement id爲例如第40個元素。它給出null。直到我將數據表向下滾動到第40個元素爲止。我希望我不會感到困惑。 :) –
如果沒有'DataTables'生成的HTML,我們不能看到行是否包含你所期望的'id'。在請求'id'時,你沒有得到任何東西的唯一原因是它沒有出現在'DataTables'生成的代碼中。 –