SYNCERのロゴ
アイキャッチ画像

CSSKeyframesRule.deleteRule() - ルールを削除する

deleteRule()は、CSSKeyframesRuleのメソッドです。@keyframes内のCSSルールを1つ削除します。

概要

名前
deleteRule
所属
CSSKeyframesRule
IDL
void deleteRule(CSSOMString select);

typedef USVString CSSOMString;
仕様書
https://drafts.csswg.org/css-animations/#dom-csskeyframesrule-deleterule

説明

引数(select)には、対象のCSSルールのセレクタ(例: from)を文字列で指定する。セレクタは、"from"は"0%"、"to"は"100%"に変換される。

存在しないセレクタを削除しようとすると無視される。

デモ

CSSKeyframesRule.deleteRule()のデモです。@keyframesのCSSルールを対象にメソッドを実行します。ルールを追加すると、アニメーションにある赤色がなくなるのを確認して下さい。

<!-- このコードは編集できます。 -->

<!DOCTYPE html>
<head>
<style>
@keyframes syncer {
	from {
		color: red ;
	}
	to {
		color: blue ;
	}
}
</style>
<style>
	p#hoge { font-size: 24px ; font-weight: 700 ; animation: 5s infinite alternate syncer ; }
	body { tab-size: 2 ; word-break: break-all ; }
	div#result { white-space: pre-wrap ; }
</style>
</head>
<body>
<p><button id="append">追加する</button></p>
<p><button id="delete">削除する</button></p>
<hr>
<p id="hoge">SYNCER</p>
<hr>
<div id="result"></div>
<script>
var styleSheetList = document.styleSheets ;
var styleSheet = styleSheetList[0] ;
var keyframesCSSRule = styleSheet.cssRules[0] ;

document.getElementById( "append" ).onclick = function () {
	keyframesCSSRule.appendRule( "from{ color: red ; }" ) ;
	getCSSInfo() ;
}

document.getElementById( "delete" ).onclick = function () {
	keyframesCSSRule.deleteRule( "from" ) ;
	getCSSInfo() ;
}

function getCSSInfo() {
	document.getElementById( "result" ).textContent = "" ;

	appendText( keyframesCSSRule + "\n" ) ;
	console.log( keyframesCSSRule ) ;

	appendText( "\t" + "name: " + keyframesCSSRule.name + "\n" ) ;

	var keyframesCSSRuleList = keyframesCSSRule.cssRules ;
	console.log( keyframesCSSRuleList ) ;
	appendText( "\t" + "cssRules: " + keyframesCSSRule.cssRules + "\n" ) ;

	for( var i=0,l=keyframesCSSRuleList.length; l>i; i++ ) {
		var keyframeCSSRule = keyframesCSSRuleList[i] ;
		appendText( "\t\t" + "[" + i + "]" + keyframeCSSRule + "\n" ) ;
		appendText( "\t\t\t" + "keyText: " + keyframeCSSRule.keyText + "\n" ) ;
		appendText( "\t\t\t" + "style: " + keyframeCSSRule.style + "\n" ) ;
		appendText( "\t\t\t" + "style.cssText: " + keyframeCSSRule.style.cssText + "\n" ) ;
	}
}

function appendText ( text ) {
	document.getElementById( "result" ).appendChild( document.createTextNode( text ) ) ;
}

getCSSInfo() ;
</script>
</body>
</html>

サポート状況

ChromeFirefoxSafariEdgeIEOperaiOS SafariAndroid
31+ 16+ 9.1+ 21+ 9.1+×
  • Twitterでシェア
  • Facebookでシェア
  • Google+でシェア
  • はてなブックマークでシェア
  • pocketに保存
  • LINEでシェア
更新履歴
2017年10月16日 (月)
コンテンツを公開しました。