cssRule, CSSRule, ruleNN 6 IE 5 DOM 2

Ein Stylesheet-Regelobjekt gehört zur Sammlung der im Dokument enthaltenen styleSheet-Objekte. Im IE- und im W3C-DOM werden für Verweise auf diese Regelobjekte unterschiedliche Syntaxformate verwendet. Bei IE werden sie über die rules-Sammlung (das so genannte rule-Objekt), bei der W3C-Implementierung von Netscape 6 und IE 5/Macintosh über die cssRules-Sammlung (das so genannte cssRule-Objekt) referenziert. Beachten Sie, dass das cssRule-Objekt in IE 6 für Windows noch nicht implementiert ist.

 

Das entsprechende W3C-DOM-Abstraktobjekt wird als CSSRule-Objekt bezeichnet, doch diese Form des Objektnamens ist nur für Skriptersteller von Bedeutung, die die Prototyp-Eigenschaften und -Methoden des CSSRule-Objekts in Netscape 6 ändern möchten. Das W3C-DOM definiert zusätzlich spezielle CSSRule-Objekttypen für die einzelnen @-Regeltypen (CSSImportRule, CSSMediaRule usw.). Ein Mitglied der cssRules-Sammlung kann jeden beliebigen dieser Typen aufweisen, der durch seine type-Eigenschaft angegeben wird. Jeder Typ weist eigene Eigenschaften und/oder Methoden auf, die für diesen cssRule-Typ gelten. Beachten Sie in der unten stehenden Liste, auf welche Typen die einzelnen Eigenschaften und Methoden jeweils anwendbar sind. Im Großen und Ganzen gehören die Inline-Regeln, die Sie in Ihren Skripts verwenden werden, jedoch zum Typ CSSStyleRule.

 

Seien Sie besonders vorsichtig, wenn Sie in einem Skript auf ein rule- oder cssRule-Objekt zugreifen. Änderungen, die Sie am Selektor oder an der Stildefinition einer Regel vornehmen, wirken sich auf das gesamte Dokument aus und können unter Umständen, zum Beispiel wenn Sie einen Doppelpunkt falsch setzen, andere im Dokument verwendete Regeln unbrauchbar machen. Wenn Sie zwischen verschiedenen Stilen für ein Element, eine Klasse oder einen Elementtyp wechseln möchten, ist es in der Regel sicherer und effizienter, andere Techniken zu verwenden, die in Verbindung mit mehreren Regeln oder Stylesheets funktionieren (z. B. className-Zuweisungen oder -Elemente vertauschen bzw. styleSheet-Objekte aktivieren und deaktivieren). Der Vollständigkeit des Objektmodells halber können Sie jedoch insbesondere beim W3C-DOM uneingeschränkt auf Teile der Stylesheet-Regeln zugreifen, wenn dies unbedingt erforderlich ist.

 
Objektmodellreferenz
 
document.styleSheets[i].rules[j]
document.styleSheets[i].cssRules[j]
 
Objektspezifische Eigenschaften
 
cssRulescssTextencodinghref
mediaparentRuleparentStyleSheetreadOnly
selectorTextstylestyleSheettype
 
Objektspezifische Methoden
 
deleteRule( )insertRule( )
 
Objektspezifische Ereignisbehandlungsroutineneigenschaften

Keine.

cssRulesNN 6 IE nicht zutreffend DOM 2

Schreibgeschützt

Gibt eine Sammlung der cssRule-Objekte zurück, die in einer @media-Regel verschachtelt sind.

 
Wert

Referenz auf ein Objekt in der cssRule-Sammlung.

 
Standardwert

Array mit der Länge Null.

 
W3C-DOM-CSSRule-Typen
 
CSSMediaRule
cssTextNN 6 IE 5(Mac) DOM 2

Lesen/Schreiben

Gibt den gesamten Text der Stylesheet-Regel an, einschließlich Selektor und Attributnamens-/Wertpaare in geschweiften Klammern. IE 6 für Windows stellt keine äquivalente Eigenschaft bereit. In Browsern, die diese Eigenschaft unterstützen, haben Änderungen keine Auswirkung auf das Objekt oder seine Darstellung.

 
Beispiel
 
document.styleSheets[0].cssRules[2].cssText = "td {text-align:center}";
 
Wert

Zeichenfolge.

 
Standardwert

Keiner.

 
W3C-DOM-CSSRule-Typen

Alle.

encodingNN 6 IE nicht zutreffend DOM 2

Schreibgeschützt

Gibt den Zeichensatzcode zurück (z. B. ISO-8859-1 oder UTF-8), der mit einer @charset-Regel verknüpft ist.

 
Wert

Zeichenfolge.

 
Standardwert

Keiner.

 
W3C-DOM-CSSRule-Typen

CSSCharsetRule

hrefNN 6 IE nicht zutreffend DOM 2

Schreibgeschützt

Gibt die URI der externen Stylesheet-Datei zurück, die über eine @import-Regel importiert wird.

 
Wert

Zeichenfolge.

 
Standardwert

Keiner.

 
W3C-DOM-CSSRule-Typen
 
CSSImportRule
mediaNN 6 IE nicht zutreffend DOM 2

Schreibgeschützt

Gibt den Medientyp zurück, der für eine @import- oder @media-Regel angegeben ist.

 
Wert

Zeichenfolgenkonstante, die die vom Browser unterstützten Medientypen angibt (z. B. screen oder print).

 
Standardwert

all

 
W3C-DOM-CSSRule-Typen
 
CSSImportRule
CSSMediaRule
parentRuleNN 6 IE nicht zutreffend DOM 2

Schreibgeschützt

Verweist auf das cssRule-Objekt, das die aktuelle cssRule enthält, beispielsweise eine in einer @-Regel verschachtelte Regel. Der Zugriff auf diesen Eigenschaftswert kann bei Netscape 6.2 zum Absturz führen.

 
Beispiel
 
var superRule = document.styleSheets[0].cssRules[1].parentRule;
 
Wert

cssRule-Objektreferenz.

 
Standardwert

null

 
W3C-DOM-CSSRule-Typen

Alle.

parentStyleSheetNN 6 IE 5(Mac) DOM 2

Schreibgeschützt

Verweist auf das styleSheet-Objekt, das die aktuelle cssRule enthält. Ermöglicht die Bereitstellung einer Funktion, der eine Referenz auf ein cssRule-Objekt übergeben wird und die daraufhin eine Referenz auf das übergeordnete styleSheet-Objekt dieses Objekts zurückgibt, etwa um festzustellen, welche sonstigen Objekte in diesem Stylesheet enthalten sind.

 
Beispiel
 
var ss = document.styleSheets[0].cssRules[3].parentStyleSheet;
 
Wert

styleSheet-Objektreferenz.

 
Standardwert

Aktuelles Objekt.

 
W3C-DOM-CSSRule-Typen

Alle.

readOnlyNN nicht zutreffend IE 5 DOM nicht zutreffend

Schreibgeschützt

Gibt den Booleschen Wert true zurück, wenn eine Regel über eine @import-Regel oder ein link-Element auf ein Dokument bezogen wird. Solche Regeln können nicht in einem Skript verändert werden, wenngleich sich einzelne Stileigenschaften eines einer solchen Regel unterworfenen Elements modifizieren lassen, weil in diesem Fall die style-Eigenschaft des Elements und nicht das rule-Objekt selbst geändert wird.

 
Beispiel
 
if (!document.styleSheets[2].cssRules[0].readOnly) {
    // not read-only, so OK to modify here
}
 
Wert

Boolescher Wert: true | false.

 
Standardwert

Variiert je nach Regeltyp.

selectorTextNN 6 IE 5 DOM 2

Lesen/Schreiben

Gibt den Selektor in der Stylesheet-Regel an. Obwohl diese Eigenschaft (außer bei IE 5/Mac) gelesen und geschrieben werden kann, haben Änderungen keine Auswirkung auf das Objekt oder seine Darstellung.

 
Beispiel
 
document.styleSheets[0].cssRules[2].selectorText = "td.leftHeaders";
 
Wert

Zeichenfolge.

 
Standardwert

Keiner.

 
W3C-DOM-CSSRule-Typen
 
CSSPageRule
CSSStyleRule
styleNN 6 IE 5 DOM 2

Lesen/Schreiben

Gibt ein style-Objekt mit Eigenschaften zurück, die die Attributeinstellungen der aktuellen Regel widerspiegeln. Dies ist dieselbe Art von style-Objekt, das auch den Elementen im Dokument zugeordnet ist (entsprechend dem W3C-DOM-Objekt CSSStyleDeclaration). Wenn Sie Stylesheet-Einstellungen auf Regelebene ändern müssen, verwenden Sie zu diesem Zweck die style-Eigenschaft von rule oder cssRule. Änderungen werden automatisch direkt übernommen und wirken sich sofort auf die Elemente aus, die dieser Regel unterworfen sind.

 
Beispiel
 
var oneRule;
if (document.styleSheets) {
    if (document.styleSheets[0].cssRules) {
        oneRule = document.styleSheets[2].cssRules[1];
    } else if (document.styleSheets[0].rules) {
        oneRule = document.styleSheets[2].rules[1];
    }
}
if (oneRule) {
    oneRule.style.color = "red";
    oneRule.style.fontWeight = "bold";
}
 
Wert

Referenz auf ein style-Objekt (bzw. CSSStyleDeclaration-Objekt in W3C).

 
Standardwert

Aktuelles style-Objekt.

 
W3C-DOM-CSSRule-Typen
 
CSSFontRule
CSSPageRule
CSSStyleRule
styleSheetNN 6 IE nicht zutreffend DOM 2

Schreibgeschützt

Gibt eine Referenz auf das styleSheet-Objekt zurück, das im importierten Stylesheet enthalten ist. Dadurch haben Sie die Möglichkeit, cssRule-Objekte, die zu diesem styleSheet-Objekt gehören, zu untersuchen – im Grunde gelangen Sie auf die nächsttiefere Ebene der styleSheet-Objektstruktur der Remote-Stylesheet-Datei.

 
Wert

styleSheet-Objektreferenz.

 
Standardwert

Keiner.

 
W3C-DOM-CSSRule-Typen
 
CSSImportRule
typeNN 6 IE nicht zutreffend DOM 2

Schreibgeschützt

Gibt eine ganze Zahl zurück, die einem der sieben im W3C-DOM definierten cssRule-Typen entspricht. Jedem cssRule-Objekt in Netscape 6 ist eine unverschlüsselte Konstanteneigenschaft zugeordnet, die dem jeweiligen Regeltyp entspricht:

 
KonstanteÄquivalenter Integerwert
cssRuleReference.UNKNOWN_RULE 0
cssRuleReference.STYLE_RULE 1
cssRuleReference.CHARSET_RULE 2
cssRuleReference.IMPORT_RULE 3
cssRuleReference.MEDIA_RULE 4
cssRuleReference.FONT_FACE_RULE 5
cssRuleReference.PAGE_RULE 6
 
Beispiel
 
var oneRule = document.styleSheets[2].cssRules[1];
if (oneRule.type == oneRule.IMPORT_RULE) {
    // process @import rule
}
 
Wert

Eine ganze Zahl.

 
Standardwert

1

 
W3C-DOM-CSSRule-Typen

Alle.

deleteRule( )NN 6 IE nicht zutreffend DOM 2

deleteRule(index)

Entfernt die durch die auf Null basierende Indexnummer angegebene Regel aus der aktuellen @media-Regel.

 
W3C-DOM-CSSRule-Typen
 
CSSMediaRule
 
Parameter
 
  • Eine auf Null basierende ganze Zahl, die dem angegebenen Element in der Quellcodereihenfolge entspricht.
 
Zurückgegebener Wert

Keiner.

insertRule( )NN 6 IE nicht zutreffend DOM 2

insertRule("rule", index)

Fügt ein neue Regel (Selektortext und Stilattribute) an der durch den zweiten Parameter angegebenen Stelle in die aktuelle @media-Regel ein.

 
W3C-DOM-CSSRule-Typen
 
CSSMediaRule
 
Parameter
 
  • Eine Zeichenfolge, die den Selektor enthält sowie die einzufügende Regel als Stilattribut in geschweiften Klammern.
  • Eine auf Null basierende ganze Zahl, die dem angegebenen Element in der Quellcodereihenfolge entspricht.
 
Zurückgegebener Wert

Ganze Zahl, die die Position der Einfügung angibt.