javascript - 如何滚动到 ul 列表中的 li 元素

标签 javascript jquery list web

我在带有 li 元素的 div 中有一个 ul 列表,而 li 元素内部是一个复选框。我有复选框的 ID。所以我想获取复选框的父 li 元素并滚动到它的位置。我无法让它发挥作用。

我的html是这样的:

<div id="divElement">
   <ul>
      <li>
         <input type="checkbox" id="343532532523" />
      </li>
   </ul>
</div>

我试过这两种方法,但它们对我不起作用:

$('#divElement').scrollTop($('#343532532523').parent().position().top);
$('#divElement').firstChild().scrollTop($('#343532532523).parent().position().top);

最佳答案

如果有人需要 vanilla JS 版本,下面的版本对我来说效果很好,50 的值只是为了让我在接近列表顶部时显示整个项目。你可以调整它。

function updateListSelection(liID) {

    var list = document.getElementById("id Tag Of The <UL> element"),
        targetLi = document.getElementById(liID); // id tag of the <li> element

    list.scrollTop = (targetLi.offsetTop - 50);
};

关于javascript - 如何滚动到 ul 列表中的 li 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12864901/

相关文章:

javascript - 在 JavaScript 中使用 Assets 的图像路径

Python 多重赋值和引用

mysql - Wordpress:显示来自特定论坛的最新 3 个主题 bbpress、mysql 解决方案

javascript - ReactJS父组件多次重新渲染子组件

javascript - Dart 和第三方库集成

javascript - 如何让关键帧动画停止在最后一个动画上

jquery - 如何从 jQueryUI Slider 获取最小值和最大值

r - 派生 R 列表元素的名称,但忽略 data.frame 列名称

javascript - PHP - 如何在同一页面的下拉列表中添加更改值的字段?

javascript - jQuery jBox 不从 div 加载内容