\name{tag} \alias{tag} \alias{tagAppendAttributes} \alias{tagAppendChild} \alias{tagAppendChildren} \alias{tagList} \alias{tagSetChildren} \title{HTML Tag Object} \usage{ tagList(...) tagAppendAttributes(tag, ...) tagAppendChild(tag, child) tagAppendChildren(tag, ..., list = NULL) tagSetChildren(tag, ..., list = NULL) tag(`_tag_name`, varArgs) } \arguments{ \item{_tag_name}{HTML tag name} \item{varArgs}{List of attributes and children of the element. Named list items become attributes, and unnamed list items become children. Valid children are tags, single-character character vectors (which become text nodes), and raw HTML (see \code{\link{HTML}}). You can also pass lists that contain tags, text nodes, and HTML.} \item{tag}{A tag to append child elements to.} \item{child}{A child element to append to a parent tag.} \item{...}{Unnamed items that comprise this list of tags.} \item{list}{An optional list of elements. Can be used with or instead of the \code{...} items.} } \value{ An HTML tag object that can be rendered as HTML using \code{\link{as.character}()}. } \description{ \code{tag()} creates an HTML tag definition. Note that all of the valid HTML5 tags are already defined in the \code{\link{tags}} environment so these functions should only be used to generate additional tags. \code{tagAppendChild()} and \code{tagList()} are for supporting package authors who wish to create their own sets of tags; see the contents of bootstrap.R for examples. } \examples{ tagList(tags$h1("Title"), tags$h2("Header text"), tags$p("Text here")) # Can also convert a regular list to a tagList (internal data structure isn't # exactly the same, but when rendered to HTML, the output is the same). x <- list(tags$h1("Title"), tags$h2("Header text"), tags$p("Text here")) tagList(x) }