如果父元素中至少有一个属性已禁用,那么哪种方法可以禁用子级?
我有表格字段嵌套在组中,其中每个组和字段都可以被禁用,具体取决于其他字段的值。多个父母可以彼此独立地被禁用。 当然,我可以查询select并迭代地禁用子节点,即最近禁用的父节点的字段。但是要重新激活字段,我还必须迭代不再在任何禁用的父级中的所有字段。
或者在每个家长上注册一个活动会更好吗?该结构的假定深度为3,约有100个元素。
父表单字段或属性aria-disabled会禁用子字段,但由于纸质元素不知道,所以没有选项。
提前致谢!
答案 0 :(得分:0)
一些创造性的解决方案是创建两个输入元素,一个设置属性disabled
,另一个没有设置,然后显示/隐藏它们,具体取决于父级是否设置了disabled
属性
* /deep/ input[disabled] {
display: none;
}
[disabled] /deep/ input[disabled] {
display: initial; /* or inline */
}
[disabled] /deep/ input:not([disabled]) {
display: none;
}
我还没有使用:not()
。如果这不起作用,您可以在启用的输入元素上设置属性enabled
并使用
[disabled] /deep/ input:[enabled] {
display: none;
}
我没有测试过该解决方案,但我想它应该可行,但我不知道你是否对这种解决方案感兴趣。