en.javascript.info/2-ui/1-document/12-multi-insert/2-insertadjacenthtml-documentfragment/task.md
Ilya Kantor 87bf53d076 update
2014-11-16 01:40:20 +03:00

945 B
Raw Blame History

Вставка insertAdjacentHTML/DocumentFragment

[importance 4]

Напишите кроссбраузерную функцию insertBefore(elem, html), которая:

  • Вставляет HTML-строку `html` перед элементом `elem`, используя `insertAdjacentHTML`,
  • Если он не поддерживается (старый Firefox) -- то через `DocumentFragment`.

В обоих случаях должна быть лишь одна операция с DOM документа.

Следующий код должен вставить два пропущенных элемента списка <li>3</li><li>4</li>:

<ul>
  <li>1</li>
  <li>2</li>
  <li>5</li>
</ul>

<script>
var ul = document.body.children[0];
var li5 = ul.children[2];

function insertBefore(elem, html) {
  /* ваш код */
}

insertBefore(li5, "<li>3</li><li>4</li>")
</script>