[解決済み] ハイフンを含むJavaScriptオブジェクトのプロパティを参照するにはどうすればよいですか?
2022-06-06 16:12:36
質問
私は このスクリプト を使って、継承されたスタイルなどのスタイルオブジェクトを作成しています。
var style = css($(this));
alert (style.width);
alert (style.text-align);
次のようにすると、最初の警告はうまくいきますが、2番目の警告はうまくいきません...
-
をマイナスとして解釈していると思われます。デバッガでは「uncaught reference error」と表示されます。文字列ではないので、引用符で囲むことはできませんが。では、このオブジェクトプロパティはどのように使えばいいのでしょうか?
どのように解決するのですか?
コメントを見てください。CSSのプロパティの場合、キー記法は多くのプロパティと互換性がないことがわかります。したがって、キャメルケースのキー表記を使用することが現在の方法です。
obj.style-attr // would become
obj["styleAttr"]
ドットではなく、キー表記を使用する
style["text-align"]
JavaScriptにおける配列はすべてオブジェクトであり、すべてのオブジェクトは単なる連想配列です。つまり、配列のキーを参照するのと同じように、オブジェクトの中の場所を参照することができるのです。
arr[0]
またはオブジェクト
obj["method"] == obj.method
この方法でプロパティにアクセスする際に覚えておきたいことがいくつかあります。
-
カウンターを使ったり、動的なメソッド名を使ったりしていない限り、文字列を使用してください。
これは、obj[method]が未定義のエラーを出すのに対して、obj["method"]は出さないことを意味します。
-
JavaScriptの変数で許可されていない文字を使用している場合、この記法を使用する必要があります。
この正規表現にほぼ集約されます。
[a-zA-Z_$][0-9a-zA-Z_$]*
関連
-
[解決済み】Node.js Error: Cannot find module express
-
[解決済み】TypeErrorの解決方法。未定義またはヌルをオブジェクトに変換できない
-
[解決済み] JavaScriptで文字列が部分文字列を含むかどうかを確認する方法は?
-
[解決済み] あるJavaScriptファイルを他のJavaScriptファイルにインクルードするにはどうすればよいですか?
-
[解決済み] JavaScriptでメールアドレスを検証するのに最適な方法は何ですか?
-
[解決済み] JavaScriptでオブジェクトをディープクローンする最も効率的な方法は何ですか?
-
[解決済み] JavaScriptでタイムスタンプを取得する方法は?
-
[解決済み] JavaScriptのオブジェクトが空であることをテストするにはどうすればよいですか?
-
[解決済み】未定義のオブジェクトプロパティを検出する
-
[解決済み】オブジェクトからプロパティを削除する(JavaScript)
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Vueがechartsのtooltipにクリックイベントを追加するケーススタディ
-
vue ディレクティブ v-html と v-text
-
vueのプロジェクトでモックを使用する方法を知っていますか?
-
Vueのイベント処理とイベントモディファイアの解説
-
Vueの「データを聴く」原則を解説
-
[解決済み] Error : 未定義のプロパティ 'map' を読み取ることができません。
-
[解決済み】Node.js Error: Cannot find module express
-
[解決済み] TypeError: $.ajax(...) is not a function?
-
[解決済み】JavaScriptエラー(Uncaught SyntaxError: Unexpected end of input)
-
[解決済み】リクエストに失敗していないのに、「TypeError: failed to fetch」が表示される。