--- layout: docs title: Alerts description: Provide contextual feedback messages for typical user actions with the handful of available and flexible alert messages. group: components redirect_from: - "/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). {% capture example %} {% for color in site.data.theme-colors %} {% endfor %} {% endcapture %} {% include example.html content=example %} {% include callout-warning-color-assistive-technologies.md %} ### Link color Use the `.alert-link` utility class to quickly provide matching colored links within any alert. {% capture example %} {% for color in site.data.theme-colors %} {% endfor %} {% endcapture %} {% include example.html content=example %} ### Additional content Alerts can also contain additional HTML elements like headings, paragraphs and dividers. {% capture example %} {% endcapture %} {% include example.html content=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. - If you're building our JavaScript from source, it [requires `util.js`]({{ site.baseurl }}/docs/{{ site.docs_version }}/getting-started/javascript/#util). The compiled version includes this. - 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 ` {% endcapture %} {% include example.html content=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) }) {% endhighlight %} Or with `data` attributes on a button **within the alert**, as demonstrated above: {% highlight html %} {% endhighlight %} 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) {% endhighlight %} 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() {% endhighlight %} ### 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… }) {% endhighlight %}