Append (tagAppendAttributes()), check existence (tagHasAttribute()), and obtain the value (tagGetAttribute()) of HTML attribute(s).

tagAppendAttributes(tag, ..., .cssSelector = NULL)

tagHasAttribute(tag, attr)

tagGetAttribute(tag, attr)



a tag object.


Attributes to append as named argument-value pairs. A named argument with an NA value is rendered as a boolean attribute (see example).


A character string containing a CSS selector for targeting particular (inner) tags of interest. At the moment, only a combination of type (e.g, div), class (e.g., .my-class), id (e.g., #myID), and universal (*) selectors within a given simple selector is supported. Note, if .cssSelector is used, the returned tags will have their $children fields flattened to a single list() via tagQuery().


The name of an attribute.


html <- div(a())
tagAppendAttributes(html, class = "foo")
#> <div class="foo">
#>   <a></a>
#> </div>
tagAppendAttributes(html, .cssSelector = "a", class = "bar")
#> <div>
#>   <a class="bar"></a>
#> </div>
tagAppendAttributes(html, contenteditable = NA)
#> <div contenteditable>
#>   <a></a>
#> </div>

tagHasAttribute(div(foo = "bar"), "foo")
#> [1] TRUE
tagGetAttribute(div(foo = "bar"), "foo")
#> [1] "bar"