JavaScript は無効な名前のカスタム CSS プロパティにアクセスできますか?

Barbara Streisand
リリース: 2024-10-24 07:07:02
オリジナル
147 人が閲覧しました

Can JavaScript Access Custom CSS Properties with Invalid Names?

JavaScript から無効なカスタム CSS プロパティへのアクセス

- 接頭辞を使用してカスタム CSS プロパティを作成することができます。しかし、これらのカスタム プロパティには JavaScript からアクセスできますか?

少なくとも Chrome や Firefox などの主要なブラウザでは、答えは残念ながら「いいえ」です。無効な名前を持つカスタム CSS プロパティは、CSS パーサーによって単純に無視されます。たとえば、次の CSS について考えてみましょう:

<code class="css">div {
    -my-foo: 42;
}</code>
ログイン後にコピー

この CSS が div に適用されていても、JavaScript を使用して -my-foo プロパティにアクセスしようとすると、何も返されません。 CSSStyleDeclaration オブジェクトには、幅や高さなどの有効なプロパティのみが含まれます。

この動作は、CSSStyleDeclaration 仕様に従っています。仕様では、オブジェクトには「指定されたプロパティ」のみを含めるべきであると記載されており、これはカスタム プロパティが認識されないことを意味します。ただし、実装によってはカスタム プロパティへのアクセスをサポートしている場合もありますが、これは保証されません。

アプリケーションにとってカスタム CSS プロパティへのアクセスが重要な場合は、生の CSS テキストを解析することで JavaScript の制限を回避できます。これは、スタイル要素の innerText プロパティを使用して実行できます。

<code class="js">document.getElementsByTagName("style")[0].innerText</code>
ログイン後にコピー

このアプローチは機能しますが、CSSStyleDeclaration オブジェクトからプロパティに直接アクセスするほど簡単ではありません。さらに、CSS テキストの追加の解析と操作が必要です。

以上がJavaScript は無効な名前のカスタム CSS プロパティにアクセスできますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!