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

CSSKeyframesRule.findRule() - セレクタからCSSルールを取得する

findRule()は、CSSKeyframesRuleのメソッドです。セレクタを指定して、@keyframes内のCSSルールを取得します。

概要

名前
findRule
所属
CSSKeyframesRule
IDL
CSSKeyframeRule? findRule(CSSOMString select);

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

説明

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

CSSルールが見つからない場合は、nullを返す。

デモ

CSSKeyframesRule.findRule()のデモです。@keyframesのCSSルールを対象に、"from"を引数にしてメソッドを実行しています。

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

<!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 id="hoge">SYNCER</p>
<hr>
<div id="result"></div>
<script>
var styleSheetList = document.styleSheets ;
var styleSheet = styleSheetList[0] ;
var keyframesCSSRule = styleSheet.cssRules[0] ;

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

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

var keyframeCSSRule = keyframesCSSRule.findRule( "from" ) ;
appendText( "\t\t" + 'find( "from" ): ' + 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 ) ) ;
}
</script>
</body>
</html>

サポート状況

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