私はJavaScriptスタイルシートを作成し、ルールを挿入する "Javascript:The Definitive Guide"(442-444ページまたはkindleロケーション14998)から変更されたJavascriptコードを持っています。しかし、私はそれを促進標準的手法を使用すると、Chromeで動作していないことが判明:「!あなた」"insertRule"のバグ?
上記のコードは、単語のみクロム、で実行された場合オレンジ色に変わります。私は醜いハックを導入した場合、それはChromeで[OK]を動作します:
が、これは本の中で、エラー、Chromeのバグで、または私が台無しに?
注私は、この演習では意図的にライブラリ(例:jqueryなど)を使用していません。
if (typeof styles === "string") {
// The argument is stylesheet text
if (styleElt) {
styleElt.innerHTML = styles;
} else {
で
なぜjqueryはあなたにこれをさせませんか? – Paul
明確にするために、質問に「ライブラリなし」メモを追加しました。 :) –
Flanaganの本(第6版)で提供されているコードは、*新しいスタイルシートの* .innerHTML *を変更するか、* .insertRule() '/'.addRule()'を使用するため動作します。それは両方を使用しません。 *すべての 'addCSSRule'呼び出しに対して* new *スタイルシートを作成します。私は '.innerHTML'が[DOM CSS](http://www.w3.org/TR/DOM-Level-2-Style/css.html)とうまく動作しないと思います。 (ところで、あなたのコードはFirefox 10とIE7-9では動作しません)。 – Zeta