我试图制作一个复选框,在单击时将隐藏一个特定的css类,但是我也希望这个效果可以应用到所有将来的对象,以获得该特定的类。
例如:我有2个div:
divA是类abc
divB没有课
我想要复选框隐藏类abc的所有div,这很容易,使用$(“。abc”)。hide()。但问题是,如果网站的另一部分后来开启了类abc的divB,那么它不会被隐藏。因为jquery代码当时只适用于divA。
我想要做的是使该复选框操纵文档的全局css定义。所以当用户点击复选框时,我会将abc类更改为隐藏,稍后每当任何div加入该类时,它将被隐藏。
这是可能在jquery吗?
解决方法
您可以使用
insertRule
和
addRule
(必要时)方法向.abc选择器添加新规则。这应该会影响将来应用该类的任何东西。
var stylesheet = document.styleSheets[0],selector = ".abc",rule = "{color: red}"; if (stylesheet.insertRule) { stylesheet.insertRule(selector + rule,stylesheet.cssRules.length); } else if (stylesheet.addRule) { stylesheet.addRule(selector,rule,-1); }
还有一个jQuery插件:$ .rule();可在https://github.com/flesler/jquery.rule