--- layout: docs title: Alerts description: Provide contextual feedback messages for typical user actions with the handful of available and flexible alert messages. group: components aliases: - "/components/" - "/docs/4.3/components/" toc: true --- ## Examples Alerts are available for any length of text, as well as an optional dismiss button. For proper styling, use one of the eight **required** contextual classes (e.g., `.alert-success`). For inline dismissal, use the [alerts JavaScript plugin](#dismissing). {{< example >}} {{< alerts.inline >}} {{- range (index $.Site.Data "theme-colors") }} {{- end -}} {{< /alerts.inline >}} {{< /example >}} {{< callout info >}} {{< partial "callout-warning-color-assistive-technologies.md" >}} {{< /callout >}} ### Link color Use the `.alert-link` utility class to quickly provide matching colored links within any alert. {{< example >}} {{< alerts.inline >}} {{- range (index $.Site.Data "theme-colors") }} {{ end -}} {{< /alerts.inline >}} {{< /example >}} ### Additional content Alerts can also contain additional HTML elements like headings, paragraphs and dividers. {{< example >}} {{< /example >}} ### Dismissing Using the alert JavaScript plugin, it's possible to dismiss any alert inline. Here's how: - Be sure you've loaded the alert plugin, or the compiled Bootstrap JavaScript. - Add a dismiss button and the `.alert-dismissible` class, which adds extra padding to the right of the alert and positions the `.close` button. - On the dismiss button, add the `data-dismiss="alert"` attribute, which triggers the JavaScript functionality. Be sure to use the ` {{< /example >}} ## JavaScript behavior ### Triggers Enable dismissal of an alert via JavaScript: {{< highlight js >}} var alertList = document.querySelectorAll('.alert') alertList.forEach(function (alert) { new bootstrap.Alert(alert) }) {{< /highlight >}} Or with `data` attributes on a button **within the alert**, as demonstrated above: {{< highlight html >}} {{< /highlight >}} Note that closing an alert will remove it from the DOM. ### Methods You can create an alert instance with the alert constructor, for example: {{< highlight js >}} var myAlert = document.getElementById('myAlert') var bsAlert = new bootstrap.Alert(myAlert) {{< /highlight >}} This makes an alert listen for click events on descendant elements which have the `data-dismiss="alert"` attribute. (Not necessary when using the data-api's auto-initialization.) | Method | Description | | --- | --- | | `close` | Closes an alert by removing it from the DOM. If the `.fade` and `.show` classes are present on the element, the alert will fade out before it is removed. | | `dispose` | Destroys an element's alert. | | `_getInstance` | *Static* method which allows you to get the alert instance associated to a DOM element, you can use it like this: `bootstrap.Alert._getInstance(alert)` | {{< highlight js >}} var alertNode = document.querySelector('.alert') var alert = bootstrap.Alert._getInstance(alertNode) alert.close() {{< /highlight >}} ### Events Bootstrap's alert plugin exposes a few events for hooking into alert functionality. | Event | Description | | --- | --- | | `close.bs.alert` | This event fires immediately when the close instance method is called. | | `closed.bs.alert` | This event is fired when the alert has been closed (will wait for CSS transitions to complete). | {{< highlight js >}} var myAlert = document.getElementById('myAlert') myAlert.addEventListener('closed.bs.alert', function () { // do something… }) {{< /highlight >}}