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

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

deleteRule()は、CSSGroupingRuleのメソッドです。宣言ブロック内から1つのCSSルールを削除します。

概要

名前
deleteRule
所属
CSSGroupingRule
IDL
void deleteRule(unsigned long index);
仕様書
https://drafts.csswg.org/cssom/#dom-cssgroupingrule-deleterule

説明

引数(index)には、インデックス番号を指定します。指定すると、このインデックス番号のCSSルールが削除され、そこ以降に元々あったCSSルールは前に1つずつずれます。省略した場合、0を指定した扱いになり、先頭のCSSルールが削除されます。

デモ

CSSGroupingRule.deleteRule()のデモです。@mediaのCSSルールを対象にメソッドを実行します。CSSルールを追加すると、テキスト色が変わるのを確認しましょう。

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

<!DOCTYPE html>
<head>
<style>
@media all {
	p#hoge { font-weight: 700 ; }
	p#hoge { background-color: #fffff0 ; }
}
</style>
<style>
	body { tab-size: 2 ; word-break: break-all ; }
	div#result { white-space: pre-wrap ; }
</style>
</head>
<body>
	<p><button id="insert">[0]にCSSルールを追加</button></p>
	<p><button id="delete">[0]のCSSルールを削除</button></p>
<hr>
	<p id="hoge">SYNCER</p>
<hr>
<div id="result"></div>
<script>
var styleSheetList = document.styleSheets ;
var styleSheet = styleSheetList[0] ;
var cssRule = styleSheet.cssRules[0] ;

document.getElementById( "insert" ).onclick = function () {
	cssRule.insertRule( "p#hoge { color: red ; }", 0 ) ;
	getCSSInfo() ;
}

document.getElementById( "delete" ).onclick = function () {
	cssRule.deleteRule( 0 ) ;
	getCSSInfo() ;
}

function getCSSInfo () {
	document.getElementById( "result" ).textContent = "" ;
	appendText( cssRule + "\n" ) ;
	appendText( "\t" + "cssRules: " + cssRule.cssRules + "\n" ) ;
	for( var i=0,l=cssRule.cssRules.length; l>i; i++ ) {
		appendText( "\t\t" + "[" + i + "]" + cssRule.cssRules[i].cssText + "\n" ) ;
	}
	appendText( "\n" ) ;
}

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

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

サポート状況

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