Helper function to manage attributes for Bootstrap's Javascript components.

bs_set_data(tag, ...)

bs_set_aria(tag, ...)


named arguments used to set the attributes of tag


htmltools::tag, modified copy of tag


One of the mechanisms used by the API for Boostrap Javascript-components is an html elements' attributes. These attribute names are prefixed with "data-" or "aria-", depending on the function.

When expressed in html, attributes themselves have the properties:

  • Logical values are expressed as "true" or "false".
  • Time durations are expressed as number of milliseconds.
  • Vector (non scalar) values are expressed in a space-delimited list.

The purpose of this function is to let you express these values in ways familiar to you as an R user. For example:

  • Logical values can be expressed as logicals: TRUE or FALSE.
  • Time durations can be expressed using lubridate durations.
  • Vector (non scalar) values can be expressed as vectors.

Note that this returns a modified copy of the tag sent to it, so it is pipeable.

See also


library("htmltools") library("lubridate")
#> #> Attaching package: ‘lubridate’
#> The following object is masked from ‘package:base’: #> #> date
tags$div() %>% bs_set_data( target = "#foobar", delay = dseconds(1), placement = c("right", "auto") ) %>% bs_set_aria(expanded = FALSE)
#> <div data-target="#foobar" data-delay="1000" data-placement="right auto" aria-expanded="false"></div>