Javascript 将特定样式应用于所有子元素

Javascript 将特定样式应用于所有子元素,javascript,html,css,visibility,Javascript,Html,Css,Visibility,因此,我有一个名为“svg”的标记,每当我按下按钮时,它的“可见性”属性就会获得值“hidden”(这是一个在包含它的“div”上工作的切换,svg只有inherit)。现在,这个“svg”元素实际上有数百个子标记(“g”标记),出于我不打算解释的原因,大多数子标记的属性中都覆盖了“可见性:可见” 我一个接一个地手工编辑了所有的文件(查找和替换),但这是一件很辛苦的事。我是否可以使用一个命令或函数,以便某个标记(在本例中为“svg”)的所有子元素都具有“可见性:继承”属性 svg * {

因此,我有一个名为“svg”的标记,每当我按下按钮时,它的“可见性”属性就会获得值“hidden”(这是一个在包含它的“div”上工作的切换,svg只有inherit)。现在,这个“svg”元素实际上有数百个子标记(“g”标记),出于我不打算解释的原因,大多数子标记的属性中都覆盖了“可见性:可见”

我一个接一个地手工编辑了所有的文件(查找和替换),但这是一件很辛苦的事。我是否可以使用一个命令或函数,以便某个标记(在本例中为“svg”)的所有子元素都具有“可见性:继承”属性

svg * {
   visibility:inherit!important;
}
!重要的
在这方面非常重要,因为如果一些
具有内联样式,则该样式将具有更高的优先级

但我不确定所有svg元素是否都会接受这个属性,svg元素的样式与其他元素略有不同

如果您想直接将其作为内联样式应用,则必须使用jQuery,如下所示

$('svg *').each(function() {
  $(this).css('visibility','inherit');
})

欢迎来到SO。请访问,了解如何提问。提示:发布努力和代码欢迎使用SO。请自己试一试。这个社区是为了帮助那些在实际执行过程中遇到困难的人。是的,第一个成功了!g*{visibility:inherit!important;}svg*{visibility:inherit!important;}div{visibility:inherit;}它可能被否决了,因为它不是一个好的答案。使用!对于*很重要的一点是,强制将该属性提供给元素下的所有内容,这不是一件好事。特别是使用“inherit”,这看起来很奇怪,但我还没有真正研究这个问题。您的答案可能“有效”,但可能不是一个好的解决方案。