Javascript CSS deleteRule 属性

标签 javascript css

嘿,我想弄清楚为什么 deleteRule 不适用于我在 javascript 中的 css 对象。我做了一个非常简单的测试来说明。 http://codepen.io/wzsun/pen/uzcvI

console.log(cssRule.cssRules.length); <-- returns 2
cssRule.deleteRule(1); // <-- can't delete
cssRule.insertRule("to { -webkit-transform: rotatex(360deg); background-color:blue;}") // <-- this works
console.log(cssRule.cssRules.length); <-- returns 3
console.log(cssRule);
cssRule.deleteRule(2);

我可以插入规则,但不能删除规则。感谢您的帮助。

最佳答案

我对您展示的问题很感兴趣,我想我找到了答案。如果你想调用 removeRule 你必须通过属性 DOMString 键删除规则

void            deleteRule(in DOMString key);

及其介于 0 和 1 之间的值(例如 0%、50%、100%)。这就是索引传递不起作用的原因。

CSSKeyframe.keyText Represents the key of the keyframe, like '10%', '75%'. The from keyword maps to '0%' and the to keyword maps to '100%'

CSSKeyframesRule MDN.

你所要做的就是找到一个keyText(msdnmdn)然后简单地用它来deleteRule()

keyToRemove = cssRule.cssRules[1].keyText;
console.log(cssRule);
console.log(cssRule.cssRules.length);
cssRule.deleteRule(keyToRemove);

这是一个 example .

关于Javascript CSS deleteRule 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24726725/

相关文章:

jquery - 根据类别更改图像 src

html - 在页面上方滑动内容而不是向下滚动到它

html - 如何使html表格标题跨越多行

html - 除非显示 : table is set?,否则不考虑 flex 元素的高度

javascript - ng-repeat 过滤器未应用

java - JAVA中HTTP POST和GET请求+Javascript调用的结合?

javascript - jquery获取按钮值的方法

html - 当您将鼠标悬停在具有背景设置的表格行上时,它不会更改背景

JavaScript 为什么要在函数中返回函数?

javascript - graphQL 查询中的变量