styleSheetNN 6 IE 4 DOM 2

styleSheet オブジェクトは、style 要素として作成されたスタイルシートか、style 要素内にある link 要素または @import ステートメントによって読み込まれたスタイルシートを表します。このオブジェクトは style 要素オブジェクトとは異なります。style オブジェクトは HTML の style 要素とその属性に対応するオブジェクトです。document.styleSheets[] コレクションには、0 個以上の styleSheet オブジェクトが格納されています。この 2 つのオブジェクトに共通するプロパティ disabled は、対応するすべてのブラウザで使用できます。このプロパティでは、スタイルシート全体を適用するかしないかをブール値だけで簡単に指定できます。

 
オブジェクト参照
 
[window.]document.styleSheets[i]
 
オブジェクト固有のプロパティ
 
cssRules[]cssTexthrefimports[]media
ownerNodeownerRuleowningElementpages[]parentStyleSheet
readOnlyrules[]titletype
 
オブジェクト固有のメソッド
 
addImport()addRule()deleteRule()insertRule()removeRule()
 
オブジェクト固有のイベントハンドラープロパティ

なし

 
cssRules[]NN 6 IE 5 (Mac) DOM 2

読み取り専用

現在の styleSheet オブジェクト内にネストされている cssRule オブジェクトのコレクションを返します。これに対応する Internet Explorer 固有のプロパティは rules です。このコレクションオブジェクトのプロパティとメソッドについては、{章冒頭の cssRules オブジェクトを参照してください。このコレクションの個々のメンバーについては、{章冒頭の cssRule オブジェクトを参照してください。

 
 
var allCSSRules = document.styleSheets[0].cssRules;
 

CSSRules コレクションオブジェクトへの参照

 
既定値

長さ 0 の配列

 
cssTextNN なし IE 5 DOM なし

読み書き

スタイルシートで定義されているすべての規則のテキスト全体を文字列として格納します。主に、一連の規則をまとめて新しい規則に置き換える場合に便利です。各規則のテキストを個別に操作するには、Internet Explorer では、(styleSheet オブジェクトの rules[i].cssText プロパティで取得した) 1 つの rule オブジェクトの cssText プロパティにアクセスします。Netscape 6 では、cssRules[i].cssText プロパティを使用します。

 
 
var allCSSText = document.styleSheets[0].cssText;
 

文字列

 
既定値

空の文字列

 
hrefNN 6 IE 4 DOM 2

読み書き

link 要素の href 属性で指定されている URL です (スタイルシートがリンクを使ってインポートされている場合)。この値は、Windows 版 IE では読み書き可能ですが、Netscape 6 と Macintosh 版 IE では読み取り専用です。

 
 
document.styleSheets[1].href = "css/altStyles.css";
 

絶対 URL または相対 URL を示す文字列

 
既定値

なし

 
imports[]NN なし IE 4 DOM なし

読み取り専用

@import 規則を介して明示的な styleSheet オブジェクトにインポートされる styleSheet オブジェクトのコレクション (配列) を返します。詳細については、{章冒頭の imports コレクションオブジェクトを参照してください。Netscape 6 では、type プロパティの値が 3 に設定されているオブジェクトを検索する場合、styleSheet のすべての cssRule オブジェクトに対してループを実行する必要があります (cssRule オブジェクトの IMPORT_RULE 定数の場合と同様)。

 
 
var allImportRules = document.styleSheets[0].imports;
 

imports コレクションオブジェクトへの参照

 
既定値

長さ 0 の配列

 
mediaNN 6 IE 4 DOM 2

読み書き

スタイルシートが適用されているコンテンツの出力先となるデバイスを示します。link および style 要素の media 属性に対応するプロパティです。media プロパティは、将来ポケットコンピュータ、スピーチデジタイザー、ファジーテレビなどの特定のデバイスに合わせたブラウザデコンテンツを作成するために使用される予定です。このプロパティは Macintosh 版 IE 4 では使用できません。

 
 
if (document.styleSheets[2].media == "print") {
    // process for print output
}
 

allprintscreen のいずれかの定数を示す文字列

 
既定値

all

 
ownerNodeNN 6 IE なし DOM 2

読み取り専用

ドキュメントツリー内で styleSheet オブジェクトを含むノードへの参照を返します。ドキュメントでのスタイルシートの定義方法に応じて、style または link のいずれかの要素がこのノードになります。Windows 版と Macintosh 版の IE でこれに対応するプロパティは owningElement です。Macintosh 版 IE では、owningNode プロパティも返されますが、これは W3C DOM の ownerNode プロパティの実装に誤りがあるためと考えられます。

 
 
var mama = document.styleSheets[2].ownerNode;
 

オブジェクトへの参照

 
既定値

なし

 
ownerRuleNN 6 IE なし DOM 2

読み取り専用

styleSheet オブジェクトが @import 規則を使ってドキュメントにインポートされる場合に、その @import 規則オブジェクト (W3C DOM の CSSImportRule オブジェクト) への参照を返します。CSSImportRule オブジェクトのプロパティとメソッドについては、{章冒頭の cssRule オブジェクトを参照してください。その他のスタイルシートタイプの場合は、null を返します。

 
 
var hostRule = document.styleSheets[2].ownerRule;
 

オブジェクトへの参照または null

 
既定値

null

 
owningElementNN なし IE 4 DOM なし

読み取り専用

現在の styleSheet オブジェクトを定義する、style または link 要素オブジェクトへの参照を返します。各ドキュメントは stylelink の両方の要素で作成されたスタイルシートのコレクションを維持しています。Netscape 6 でこれに相当するプロパティは ownerNode です。

 
 
var firstStyleID = document.styleSheets[0].owningElement.id;
 

要素オブジェクトへの参照

 
既定値

なし

 
pages[]NN なし IE 5.5(Win) DOM なし

読み取り専用

styleSheet オブジェクト内にネストされている page オブジェクト (@page 規則) のコレクション (配列) を返します。Netscape 6 では、type プロパティの値が 6 に設定されているオブジェクトを検索する場合、styleSheet のすべての cssRule オブジェクトに対してループを実行する必要があります (cssRule オブジェクトの PAGE_RULE 定数の場合と同様)。page オブジェクトを参照してください。

 
 
var allPageRules = document.styleSheets[0].pages;
 

pages コレクションオブジェクトへの参照

 
既定値

長さ 0 の配列

 
parentStyleSheetNN 6 IE 4 DOM 2

読み取り専用

styleSheet オブジェクトが @page 規則を読み込むことにより作成される場合、parentStyleSheet プロパティは、現在のスタイルシートをインポートした styleSheet オブジェクト (link または style 要素として作成されたオブジェクト) への参照を返します。インポートされないスタイルシートについては、null を返します。

 
 
var myMaker = document.styleSheets[0].parentStyleSheet;
 

styleSheet オブジェクトへの参照

 
既定値

null

 
readOnlyNN なし IE 4 DOM なし

読み取り専用

スタイルシートがスクリプトによって変更可能かどうかを示します。link 要素や @import 規則を使って読み込まれたスタイルシートは変更できないので、true が返されます。

 

true または false のブール値

 
既定値

false

 
rules[]NN なし IE 4 DOM なし

読み取り専用

現在の styleSheet オブジェクト内にネストされている rule オブジェクトのコレクションを返します。W3C DOM でこれに対応するプロパティは cssRules です。cssRules は Netscape 6 と Macintosh 版 IE 5 に実装されています。このコレクションオブジェクトのプロパティとメソッドについては、{章冒頭の cssRules オブジェクトを参照してください。このコレクションの個々のメンバーについては、{章冒頭の cssRule オブジェクトを参照してください。

 
 
var allrules = document.styleSheets[0].rules;
 

rules コレクションオブジェクトへの参照

 
既定値

長さ 0 の配列

 
titleNN 6 IE 4 DOM 2

読み書き

現在の styleSheet オブジェクトを定義する style 要素または link 要素の title 属性を公開します。この属性は、ユーザーインターフェイス要素に影響を与えない (要素が非表示なのでツールチップが表示されない) ため、スクリプトで他の文字列情報を styleSheet オブジェクトに渡すために使用できます。

 
 
if (document.styleSheets[2].title == "corpStyleWindows") {
    // process for the designated style
}
 

文字列

 
既定値

空の文字列

 
typeNN 6 IE 4 DOM 2

読み取り専用

style 要素または link 要素の type 属性に指定されているスタイルシートの MIME タイプを返します。

 
 
if (document.styleSheets[0].type == "text/css") {
    ...
}
 

文字列 (標準的なスタイルシートの場合は text/css)

 
既定値

なし

 
addImport()NN なし IE 4 DOM なし

addImport(url, [index])

styleSheet オブジェクトに外部スタイルシート仕様を追加します。

 
戻り値

2 番目のパラメータを指定しなかったためブラウザがスタイルシートの追加位置を決定した場合に、styleSheets[] コレクション内のスタイルシートが追加された位置を示す整数インデックス

 
パラメータ
 
  • url
      スタイルシート (.css) ファイルへの絶対 URL または相対 URL
  • index
      コレクション内の新しい要素を追加する位置を示す整数。省略可能です。
 
addRule()NN なし IE 4 DOM なし

addRule("selector", "style"[, index])

スタイルシートに新しい規則を追加します。このメソッドを使って、スクリプトで既存の styleSheet オブジェクトに規則を追加できます。次に例を示します。

 
document.styleSheets[1].addRule("p b","color:red");
 

既に styleSheet にあるセレクタを複製し、同じ要素セレクタの既存の規則を上書きできます。ただし、標準のスタイル規則から、配置可能な要素を作成する規則への変換 (およびその逆の変換) はできません。新しい規則には、すべてのスタイルシート規則と同じカスケード規則が適用されます。これには同じセレクタの他の規則に対するソースコード位置も含まれます。したがって、styleSheet オブジェクトに追加された新しい規則は、要素の style プロパティに設定されたスタイルを上書きしません。

 
戻り値

初期バージョンの IE は値を返しません。最近のバージョンの IE の場合、Windows 版は -1 を、Macintosh 版は null を返します。将来的には、新しい規則のインデックス位置を表す整数値が戻り値になる可能性があります。

 
パラメータ
 
  • selector
      スタイル規則セレクタを示す文字列
  • style
      スタイルの「属性/値」のペア (複数指定も可能)。複数のペアを指定する場合は、標準のスタイルシート定義と同様に各ペアをセミコロンで区切ります。
  • index
      コレクション内の新しい要素を追加する位置を示す整数。省略可能です。
 
deleteRule()NN 6 IE 5 (Mac) DOM 2

deleteRule(index)

styleSheet オブジェクトから規則を削除します。パラメータには、cssRules 配列内の削除するアイテムを示す 0 から始まる整数インデックスを指定します。Macintosh 版 IE 5 では、この操作を行うために、Microsoft の removeRule() メソッドと、W3C DOM の deleteRule() メソッドの 2 つが実装されています。

 
戻り値

なし

 
パラメータ
 
  • index
      cssRules コレクション内の削除するアイテムを示す 0 から始まる整数
 
insertRule()NN 6 IE 5 (Mac) DOM 2

insertRule("ruleText", index)

スタイルシートに新しい規則を追加します。このメソッドを使って、スクリプトで既存の W3C DOM styleSheet オブジェクトに規則を追加できます。次に例を示します。

 
document.styleSheets[1].insertRule("p b {color:red}", 0);
 

既に styleSheet にあるセレクタを複製し、同じ要素セレクタの既存の規則を上書きできます。ただし、標準のスタイル規則から、配置可能な要素を作成する規則への変換 (およびその逆の変換) はできません。新しい規則には、すべてのスタイルシート規則と同じカスケード規則が適用されます。これには同じセレクタの他の規則に対するソースコード位置も含まれます。したがって、styleSheet オブジェクトに追加された新しい規則は、要素の style プロパティに設定されたスタイルを上書きしません。Macintosh 版 IE 5 では、これと同じ結果を得るために、W3C DOM の insertRule() メソッドと、Microsoft の addRule() メソッドの 2 つが実装されています。

 
戻り値

新しい規則のインデックス位置を表す整数

 
パラメータ
 
  • ruleText
      スタイル要素での指定とまったく同じフォーマットのスタイル規則のセレクタ全体を示す文字列。これは selector {attribute:value; attribute:value;...} というフォーマットです。
  • index
      cssRules コレクション内の新しい規則を追加する位置を示す 0 から始まる整数
 
removeRule()NN なし IE 4 DOM なし

removeRule(index)

styleSheet オブジェクトから規則を削除します。パラメータには、rules 配列内の削除するアイテムを示す 0 から始まる整数インデックスを指定します。

 
戻り値

なし

 
パラメータ
 
  • index
      rules コレクション内の削除するアイテムを示す 0 から始まる整数
 
disabledNN 6 IE 4 DOM 1

読み書き

ユーザーが要素を操作できるかどうかを示します。true に設定すると、要素はフォーカスを得ることができず、ユーザーは要素を変更できなくなります。通常、要素はページ上でグレー表示になります。このプロパティは、Windows 版 IE 5.5 以降のすべての HTML 要素オブジェクトで使用できます。IE 4 と IE 5 では、フォームコントロールにのみ適用されます。Netscape 6 以降では、フォームコントロールと style 要素オブジェクトで認識されます。使用できなくなったフォームコントロールの「名前/値」のペアは、フォームから送信されません。

 
 
document.getElementById("myButton").disabled = true;
 

true または false のブール値

 
既定値

false