Использование селекторов для дроплистов в JavaScript - PullRequest
1 голос
/ 07 марта 2019

Я могу использовать userscript для выбора раскрывающегося списка с помощью javascript, если я знаю идентификатор раскрывающегося списка, но если в раскрывающемся списке нет идентификатора, я не могу его выбрать, поэтому мне интересно, есть ли способ выделить все выпадающие списки, которые есть на странице, без использования идентификатора?

document.getElementById("id").selectedIndex = 0;

1 Ответ

2 голосов
/ 07 марта 2019

Для выбора всех

const all = document.querySelectorAll('select');

Для выбора первого

const first = document.querySelector('select');
console.log(first.selectedIndex);

редактировать:

Здесь вы можете увидетьПример, как зациклить несколько блоков выбора и установить selectedIndex (в моем случае 3)

const all = document.querySelectorAll('select');

[...all].forEach(select => select.selectedIndex = 3);
<select>
  <option value="volvo">Volvo</option>
  <option value="saab">Saab</option>
  <option value="opel">Opel</option>
  <option value="audi">Audi</option>
</select>

<select>
  <option value="1">1</option>
  <option value="2">2</option>
  <option value="3">3</option>
  <option value="4">4</option>
</select>

all - это NodeList, а с [...all] или необязательным Array.from(all) вы получаете массив.Это необходимо для использования метода Array forEach

...