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);
}
}
은 그러나이 문제는 ID로를 얻는 동안 obj_element
이 날이 null주고 있다는 점이다.
예를 들어 데이터 테이블에 50 개의 행이 있고 맨 위에 스크롤이있는 동안 40 번째 요소의 ID를 지정하려고하면 null이 반환됩니다.
하지만 내가 그 요소 가까이에 어딘가에 내려 갔을 때. getElementById의 값을 반환합니다.
여기에 어떤 문제가 있는지 알 수 없습니다. 누구든지이 사실을 알고 있니?
나는이 방법$("#myTable").fnGetPosition(document.getElementById("262617"))
하지만이 경우 https://datatables.net/forums/discussion/33/using-fngetposition-to-find-a-tr-by-id을하고 그것을 시도 또한이 fnGetPosition는 함수가 아닙니다 말한다. 내 데이터 테이블은 내가 언급 한 두 경우에 무슨 일이 일어나고 있는지 이해할 수 없습니다입니다
tableSettings = {
...
}
var myTable = $('#myTable').DataTable(tableSettings);
얼마나
이입니다. 도움이되기를 바래요. 감사합니다 :)
편집 - 예를
ID = 140,876 가진 하나는 데이터 테이블의 마지막 TR 행입니다 함께 이미지를 추가. 데이터 테이블의 첫 번째 요소 위로 스크롤하여 document.getElementById ("140876")를 시도하면 null이됩니다. 그러나 내가 아래로 스크롤하면 가치가 있습니다. 다른 행마다 동일하게 적용됩니다. 스크롤 할 때 아래쪽 행이 null을 반환합니다.
P. 첫 번째 이미지를 제거해야만 했으므로 이제는 1 개의 링크 만 추가 할 수 있습니다.
수는 생성 된 HTML 마크 업의 예를 제공하십시오. –
나는 당신이 무엇을 필요로하는지 잘 모르겠습니다. fnGetPosition 오류에 대한 스크린 샷을 찍었습니다. 다른 경우, 예를 들어 40 번째 요소와 같이 getElement를 log로 콘솔 할 때. 그것은 null을 제공합니다. 데이터 표를 40 번째 요소까지 스크롤 할 때 까지요. 나는 혼란스럽지 않기를 바란다. :) –
'DataTables'에 의해 생성 된 HTML이 없다면,'id'가 기대하는 행이 포함되어 있는지 알 수 없습니다. 'id '를 요청할 때 아무것도 얻지 못하는 유일한 이유는'DataTables'에 의해 생성 된 코드에 존재하지 않기 때문입니다. –