вернуться к уроку

Получить второй LI

важность: 5

Есть длинный список ul:

<ul>
  <li>...</li>
  <li>...</li>
  <li>...</li>
  ...
</ul>

Как наиболее эффективно получить второй LI?

Можно так:

var li = ul.getElementsByTagName('li')[1];

Или так:

var li = ul.querySelector('li:nth-child(2)');

Оба этих вызова будут перебирать детей UL и остановят перебор на найденном элементе.

А вот так – браузер найдёт все элементы, а затем выберет второй. Это дольше:

var li = ul.querySelectorAll('li')[1];

На практике разница в производительности будет видна только для действительно больших списков, либо при частом выполнении запроса. Браузер перебирает элементы весьма шустро.