# How to use insertAdjacentHTML

> Learn how to use the DOM insertAdjacentHTML method to insert HTML into a page, and the four positions beforebegin, afterbegin, beforeend and afterend.

Author: [Flavio Copes](https://flaviocopes.com/about/) | Published: 2020-05-03 | Topics: [Web Platform](https://flaviocopes.com/tags/platform/) | Canonical: https://flaviocopes.com/insertadjacenthtml/

`insertAdjacentHTML` is a very cool DOM method we can call on any DOM element to add new content to a page.

It is a nice and flexible way to insert new content.

The method is called on an element and accepts 2 parameters: the position, and a string containing HTML.

Here's an example:

```js
const item = `<div>
    test
  </div>
`

document.querySelector('#container').insertAdjacentHTML('afterend', item)
```

Notice the `afterend ` string.

This represents the position we're going to add the HTML into the container.

We have 4 possible positions:

- `beforebegin` before the element
- `afterbegin` before the first children of the element
- `beforeend` after the last children of the element
- `afterend` after the element

Here's how we would add a new item to a list:

```js
document.querySelector('ul').insertAdjacentHTML('beforeend', '<li>item</li>')
```
