我有以下表结构:
<table>
<tr>
<th> </th>
<th> </th>
<th> </th>
</tr>
<tbody id="page-1">
<tr>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td> </td>
<td> </td>
<td> </td>
</tr>
</tbody>
<tbody id="page-2">
<tr>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td> </td>
<td> </td>
<td> </td>
</tr>
<tr>
<td> </td>
<td> </td>
<td> </td>
</tr>
</tbody>
</table>
我已尝试使用以下jquery代码按tbody
滚动到特定的id
,如:
page = 1;
$("#page-"+page).focus()
上述代码无法滚动到指定的tbody
。我还尝试了以下内容以获得第一个tr
,但也失败了:
page = 1;
$("#page-"+page+":first-child").focus()
我要提到的最后一件事是tbody
是通过ajax请求加载的,console.log($("#page-"+page).html())
工作正常并打印出tbody
答案 0 :(得分:0)
我犯了错误。对于focus
来说tbody
不是合适的事件,换句话说就是没有关注点。解决方案是Run ScrollTop with offset of element by ID并使用:
$('html, body').animate({
scrollTop: $('#page-'+page).offset().top -100
}, 2000);