A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://developer.cdn.mozilla.net/de/docs/Web/API/CSSStyleSheet/insertRule below:

CSSStyleSheet: insertRule() Methode - Web-APIs

CSSStyleSheet: insertRule() Methode

Baseline Widely available

Die CSSStyleSheet.insertRule()-Methode fügt eine neue CSS-Regel in das aktuelle Stylesheet ein.

Hinweis: Obwohl insertRule() ausschließlich eine Methode von CSSStyleSheet ist, wird die Regel tatsächlich in [CSSStyleSheet](/de/docs/Web/API/CSSStyleSheet).cssRules eingefügt – seine interne CSSRuleList.

Syntax
insertRule(rule)
insertRule(rule, index)
Parameter
rule

Ein String, der die einzufügende Regel enthält. Was die eingefügte Regel enthalten muss, hängt von ihrem Typ ab:

index Optional

Eine positive ganze Zahl, die kleiner oder gleich stylesheet.cssRules.length ist und die Position der neu eingefügten Regel in [CSSStyleSheet](/de/docs/Web/API/CSSStyleSheet).cssRules darstellt. Der Standardwert ist 0. (Bei älteren Implementierungen war dies erforderlich. Siehe Browser-Kompatibilität für Details.)

Rückgabewert

Der Index der neu eingefügten Regel innerhalb der Regel-Liste des Stylesheets.

Ausnahmen
IndexSizeError DOMException

Wird ausgelöst, wenn index > [CSSRuleList](/de/docs/Web/API/CSSRuleList).length.

HierarchyRequestError DOMException

Wird ausgelöst, wenn rule aufgrund einer CSS-Einschränkung nicht an der angegebenen Position eingefügt werden kann; zum Beispiel: der Versuch, eine @import At-Regel nach einer Stilregel einzufügen.

SyntaxError DOMException

Wird ausgelöst, wenn mehr als eine Regel im rule-Parameter angegeben wird.

InvalidStateError DOMException

Wird ausgelöst, wenn rule @namespace ist und die Regel-Liste mehr als nur @import At-Regeln und/oder @namespace At-Regeln enthält.

Beispiele Einfügen einer neuen Regel

Dieses Snippet fügt eine neue Regel an die Spitze meines Stylesheets ein.

myStyle.insertRule("#blanc { color: white }", 0);
Funktion zum Hinzufügen einer Stylesheetregel
/**
 * Add a stylesheet rule to the document (it may be better practice
 * to dynamically change classes, so style information can be kept in
 * genuine stylesheets and avoid adding extra elements to the DOM).
 * Note that an array is needed for declarations and rules since ECMAScript does
 * not guarantee a predictable object iteration order, and since CSS is
 * order-dependent.
 * @param {Array} rules Accepts an array of JSON-encoded declarations
 * @example
addStylesheetRules([
  ['h2', // Also accepts a second argument as an array of arrays instead
    ['color', 'red'],
    ['background-color', 'green', true] // 'true' for !important rules
  ],
  ['.myClass',
    ['background-color', 'yellow']
  ]
]);
*/
function addStylesheetRules(rules) {
  const styleEl = document.createElement("style");

  // Append <style> element to <head>
  document.head.appendChild(styleEl);

  // Grab style element's sheet
  const styleSheet = styleEl.sheet;

  for (let rule of rules) {
    let i = 1,
      selector = rule[0],
      propStr = "";
    // If the second argument of a rule is an array of arrays, correct our variables.
    if (Array.isArray(rule[1][0])) {
      rule = rule[1];
      i = 0;
    }

    for (; i < rule.length; i++) {
      const prop = rule[i];
      propStr += `${prop[0]}: ${prop[1]}${prop[2] ? " !important" : ""};\n`;
    }

    // Insert CSS Rule
    styleSheet.insertRule(
      `${selector}{${propStr}}`,
      styleSheet.cssRules.length,
    );
  }
}
Spezifikationen Browser-Kompatibilität Siehe auch

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4