我读了这article on tagQuery篇文章,想知道在一个shiny 的应用程序中有什么实际用途.

是否要以类似于shinyjs::addClass()的方式修改服务器端的标记?

推荐答案

我认为当你需要修改或提取一个文件的部分时,它最有用

例如,this old answer of mine

作为设置,我们有一个动态生成的菜单.我们想补充一点

library(shinydashboard, warn.conflicts = FALSE)
library(htmltools)

tabs_list <- lapply(1:2, function(x) {
  menuSubItem(text = paste("tab", x))
})

menu <- menuItem("test_tabs", tabs_list)
print(menu)
#> <li class="treeview">
#>   <a href="#">
#>     <span>test_tabs</span>
#>     <i class="fa fa-angle-left pull-right" role="presentation" aria-label="angle-left icon"></i>
#>   </a>
#>   <ul class="treeview-menu" style="display: none;" data-expanded="test_tabs">
#>     <li>
#>       <a href="#">
#>         <i class="fa fa-angle-double-right" role="presentation" aria-label="angle-double-right icon"></i>
#>         tab 1
#>       </a>
#>     </li>
#>     <li>
#>       <a href="#">
#>         <i class="fa fa-angle-double-right" role="presentation" aria-label="angle-double-right icon"></i>
#>         tab 2
#>       </a>
#>     </li>
#>   </ul>
#> </li>

以下是最初的方法:

menu_orig <- menu
menu_orig$children[[2]] <- tagAppendAttributes(menu_orig$children[[2]], id = "test_tabs")

有了tagQuery(),这将更容易理解和更强大:

menu_tq <- tagQuery(menu)$find("ul")$addAttrs(id = "test_tabs")$allTags()

# Check that we got the same result
identical(format(menu_orig), format(menu_tq))
#> [1] TRUE

R相关问答推荐

NA仅省略具有NA的 Select 行

收件箱摘要表布局在第一列上显示子类别

想要创建一个可以存储四个多元正态总体的多元偏度的载体

将R data.frame转换为json数组(源代码)

手工PCA上的载体与输出双图不匹配

如何在热图中绘制一个图形,但在每个单元格中通过饼形图显示?

混淆矩阵,其中每列和等于1

从R中的另一个包扩展S3类的正确方法是什么

无法在我的情节中表现出显着的差异

geom_Ribbon条件填充创建与数据不匹配的形状(ggplot 2 r)

咕噜中的元素列表:map

R箱形图gplot 2 4组但6个参数

如何动态更新selectizeInput?

将包含卷的底部25%的组拆分为2行

在R中创建连续的期间

如何将一些单元格的内容随机 Select 到一个数据框中?

如何计算每12行的平均数?

循环遍历多个变量,并将每个变量插入函数R

R中的Desolve:返回的导数数错误

如何使用grepl()在数据帧列表中 Select 特定字符串?