2017-10-04 66 views
-3

所以我有一个名为“svg”的标签,只要我点击一个按钮,它的“visibility”属性就会获得“隐藏”的值(这是一个对包含它的“div” SVG只有继承)。现在,这个“svg”元素具有数百个子标签(“g”标签),其中大部分由于我不打算解释的原因而在其属性中覆盖“可见性:可见”。对所有子元素应用某种样式

我把它们全部手动一个一个地手动(查找和替换),但它是一种沉闷。是否没有可以使用的命令或函数,以便某个标记(本例中为“svg”)的所有子元素都具有“visibility:inherit”属性?

+1

欢迎来到SO。请访问[帮助],看看有什么和如何问。建议:张贴工作和编码 – mplungjan

+0

欢迎来到SO。请自行尝试。这个社区在他们坚持实际实施时会帮助他们。 –

回答

-1

你可以去:

svg * { 
    visibility:inherit!important; 
} 

!important是非常重要的,因为有一些如的<g>有内嵌样式这会给这种风格更高的优先级。

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

如果你想直接应用这种内联风格,你将不得不使用jQuery如下。

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

是的,第一次工作! \t \t 克* { \t \t \t \t知名度:继承重要; \t \t \t \t} \t \t \t \t \t \t \t \t SVG * { \t \t \t \t知名度:继承重要; \t \t \t \t} \t \t \t \t \t \t \t \t DIV { \t \t \t \t能见度:继承; \t \t \t \t} – Trex99ZD

+0

它可能是downvoted,因为它不是一个好的答案。使用!重要的是*强制将该属性提供给元素下的所有内容,这不是一件好事。特别是使用“继承”,这似乎很奇怪,但我没有真正看过这个问题。你的答案可能“起作用”,但它可能不是一个好的解决方案。 – Rob

相关问题