Поиск соседей элементов в JavaScript

previousElementSiblingnextElementSibling
Задание 1

Дан элемент #elem:

html<ul>
  <li>text</li>
  <li>text</li>
  <li id="elem">text</li>
  <li>text</li>
  <li>text</li>
</ul>

Найдите его соседа сверху и добавьте ему в конец текст '!'.

Задание 2

Дан элемент #elem:

html<ul>
  <li>text</li>
  <li>text</li>
  <li id="elem">text</li>
  <li>text</li>
  <li>text</li>
</ul>

Найдите его соседа снизу и добавьте ему в конец текст '!'.

Задание 3

Дан элемент #elem:

html<ul>
  <li>text</li>
  <li>text</li>
  <li id="elem">text</li>
  <li>text</li>
  <li>text</li>
</ul>

Найдите его соседа снизу его соседа снизу (следующий элемент за соседним) и добавьте ему в конец текст '!'.

Задание 4

Дан элемент #elem:

html<ul>
  <li>text1</li>
  <li>text2</li>
  <li id="elem">text3</li>
  <li>text4</li>
  <li>text5</li>
</ul>

Поменяйте местами текст его соседа сверху и текст его соседа снизу.