Я не могу понять, почему, но 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()
который возвращает один элемент.
Других решений пока нет …