简体   繁体   English

如何将CSS转换为SVG

[英]How can I manipulate css into a SVG

i'm trying to improve my code by assigning the css for properly: 我试图通过正确分配css来改善代码:

isChecked = jqElement.is(':checked');
type = jqElement.attr('tag');
var start = new Date().getTime();
elements = document.getElementsByClassName(type);
console.log('LAYER ' + type + ': ' + elements.length);
for (j=0; j<elements.length; j++){
    element = elements[j];
if (isChecked)
    element.classList.remove('hide-layer');
else
    element.classList.add('hide-layer');
//element.className += ' hide-layer';
//element.className = type;
//element.setAttribute('visibility', (isChecked)? '' : 'hidden');
}

Using element.className += ' hide-layer' doesn't work Using element.className += ' hide-layer' takes a while (8 secons for 1996 path elements with the same class) 使用element.className + ='hide-layer'不起作用使用element.className + ='hide-layer'需要一段时间(1996年具有相同类的path元素为8 secons)

the css class is like: css类是这样的:

.hide-layer{
    visibility:hidden;
}

Hope you can help me. 希望您能够帮助我。 Thanks in advance! 提前致谢!

If you set a class on the elements you wanted to hide you could manipulate the class rule ie edit 如果在要隐藏的元素上设置类,则可以操作类规则,即编辑

.hide-layer{
    visibility:hidden;
}

to become 成为

.hide-layer{
    visibility:visible;
}

You can access stylesheets via 您可以通过访问样式表

document.styleSheets

If the above rule was the only rule in the only stylesheet for the page it would be 如果以上规则是页面唯一样式表中的唯一规则,则它将是

var rule = document.styleSheets[0].cssRules[0]

and

document.styleSheets[0].cssRules[0].style.setProperty('visibility','visible',null);

would update the visibility property in the rule. 将更新规则中的可见性属性。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM