我想滚动到具有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'生成的代码中。 –