Как определить элементы в DOM для использования в событии нажатия кнопки? - PullRequest
0 голосов
/ 05 октября 2018

Пытаюсь выучить немного Javascript сейчас, когда у меня за плечами несколько месяцев Python.Возникли проблемы с элементами HTML на странице, которая использует Javascript (не уверен, что это правильная формулировка).

У меня есть простое расширение Chrome, которое я пытаюсь сказать, чтобы он нажимал кнопку при загрузке страницы.

DOM показывает этот код более или менее:

<body class="skin-mark toolbar-open  table-active">
    <div class="tile-tables"></div>
</body>

Моя попытка щелкнуть по кнопке была похожа на следующее:

document.querySelector('#tile-tables').click();

Любая помощь в понимании процесса и того, что я делаю неправильно, была бы великолепна!Заранее спасибо!Не стесняйтесь поправлять меня в любом месте, и я исправлю свой язык.

1 Ответ

0 голосов
/ 05 октября 2018

Когда вы используете getElementById, вы должны передать ему элемент id .В вашем HTML есть только один элемент с id, внешний userActActions-51 - поэтому, если вы сначала выберете по идентификатору, вы сделаете

document.getElementById('userActActions-51')

, а затем получите доступ ко второмуnested child:

const userActions = document.getElementById('userActActions-51');
const span = userActions.children[0].children[0];
span.click();

Но для этого было бы удобнее использовать querySelector, что позволит вам использовать строку селектора для выбора потомка span элемента с идентификатором userActActions-51 сразу:

document.querySelector('#userActActions-51 span').click();

Если элемент может не существовать, то прежде чем пытаться щелкнуть по нему, убедитесь, что он существует:

const span = document.querySelector('#userActActions-51 span');
if (span) span.click();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...