如何在行内模式的checkboxGroupInput中使用checkbox:nth-child选择器
选择器调整方案
checkboxGroupInput 开启 inline=TRUE 后,Shiny 渲染的DOM结构会发生变化,这是原选择器失效的核心原因:
- 非inline模式下,每个复选框选项外层会包裹类为
checkbox的div容器,原选择器通过.checkbox定位子元素可以正常命中 - inline模式下,外层的
.checkbox容器会被移除,每个选项对应的label标签直接挂载在组件根节点下,自身携带checkbox-inline类
正确的选择器写法
你可以根据场景选择以下任意一种生效写法:
- 极简写法(直接按子元素序号定位):
disable(selector="#a label:nth-child(1)") - 带类精确匹配写法(避免组件内存在其他标签时序号偏移):
disable(selector="#a label.checkbox-inline:nth-of-type(1)")
你之前修改未生效大概率是层级匹配错误,不需要保留原选择器中不存在的
.checkbox层级,直接匹配根节点下的label标签即可。
内容的提问来源于stack exchange,提问作者Dean MacGregor
相关产品推荐
相关产品推荐

