Как выбрать все элементы с помощью селектора в Polymer 2.x - PullRequest
0 голосов
/ 26 апреля 2018

Я пытаюсь выбрать все элементы с class="test" в Polymer 2.x, но у меня возникают проблемы.

document.querySelectorAll('.test') ничего не выбирает

document.body.querySelectorAll('.test') ничего не выбирает

this.querySelectorAll('.test') ничего не выбирает

this.shadowRoot.querySelector('.test') выбирает только первый соответствующий узел на странице

Примечание: все они отображаются в одном документе, и не нужно разбивать слой DOM тени.

1 Ответ

0 голосов
/ 26 апреля 2018

Итак, shadowRoot также поддерживает метод querySelectorAllAll ) в конце, который должен возвращать NodeList со всеми элементами, соответствующими этому запросу.

Например, если вы открываете приложение Polymer News, которое использует shadowDom:

https://news -docs.polymer-project.org /

и выполнить запрос:

document.querySelector('docs-app').shadowRoot.querySelectorAll('.tab');

возвращает мне 3 предмета.

Итак, в вашем случае, попробуйте следующее:

this.shadowRoot.querySelectorAll('.test');

...