2014-07-13 3 views
4

안녕하세요, 저는 왜 deleteRule이 자바 스크립트에서 내 CSS 객체에 대해 작동하지 않는지 알아 내려고하고 있습니다. 설명하기 위해 아주 간단한 테스트를했습니다. http://codepen.io/wzsun/pen/uzcvI자바 스크립트 CSS deleteRule 속성

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); 

나는 규칙을 삽입 할 수 있습니다하지만 난 하나를 삭제할 수 없습니다. 어떤 도움을 주셔서 감사합니다.

+0

배열 속성을 수동으로'.splice()'하려고 했습니까? 이것은 흥미로운 문제처럼 보입니다. +1 –

+0

나는 그것을 들여다 보지 않을 것이고, 나는 CSSom을 자바 스크립트로 테스트하기 시작했다. – wzsun

+0

'cssRule.deleteRule (0);'작동합니까? –

답변

3

나는 당신이 보여준 문제로 인해 intrested되어 있고 나는 그 대답을 발견했다고 생각한다. 당신이 removeRule를 호출 할 경우의 DOMString 속성으로 규칙을 제거해야 키

void   deleteRule(in DOMString key); 

0과 1 사이의 값 (예를 들어 0 %, 50 %, 100 %). 인덱스가 전달되지 않은 이유가 그 것이다.

CSSKeyframe.keyText '10 % ', '75 %'와 같은 키 프레임의 키를 나타냅니다. 키워드지도에서 '0 %'와 단순히

CSSKeyframesRule MDN.

당신이해야 할 것은 keyText (msdn, mdn)를 찾는 것이다 다음 '100 %'로지도를 키워드를 사용하기로 to deleteRule()

여기는 example입니다.

+1

고맙습니다. 그런 식으로 생각하지 않았습니다. – wzsun