Uncaught TypeError: scrollIntoView не является функцией

Я не могу понять, почему, но 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>
[...]

У кого-нибудь есть идеи, почему это не работает?

1 ответ

Решение

document.querySelectorAll() возвращает список элементов DOM. Прямо сейчас вы пытаетесь получить доступ к методу .scrollIntoView на возвращенном NodeList которого, конечно, не существует.

Вы, вероятно, хотели использовать document.querySelector() который возвращает один элемент.

Другие вопросы по тегам