我不知道为什么,但是scrollIntoView()
函数不起作用。浏览器显示错误:Uncaught TypeError: element.scrollIntoView is not a function at ...
。元素element
已定义并显示在控制台中。我还没有在互联网上找到任何答案。下面是简化的代码:
[...]
<table>
<thead>
<tr>
<th>ID</th>
<th>Name</th>
<th>Surname</th>
</tr>
</thead>
<tbody>
<?php
if (is_array($array)) {
foreach ($array as $element) { ?>
<tr data-someid="<?= $element->some_id ?>">
<th><?= $element->id ?></th>
<td><?= $element->name ?></td>
<td><?= $element->surname ?></td>
</tr>
<?php }
} ?>
</tbody>
</table>
[...]
<script>
var element= document.querySelectorAll('[data-someid="' + someId + '"]');
console.log(element); // displays the element well
element.scrollIntoView();
</script>
[...]
有人有什么想法为什么不起作用吗?
最佳答案
document.querySelectorAll()
返回DOM元素列表。现在,您正在尝试访问返回的.scrollIntoView
上的方法NodeList
,该方法当然不存在。
您可能打算使用document.querySelector()
返回单个元素。
关于javascript - 未捕获的TypeError:scrollIntoView不是函数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54493864/