• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:JavaScript を一文にしたい)

JavaScriptでstyleやclassListとtextContentを繋げて一文にする方法

このQ&Aのポイント
  • JavaScriptで[style]や[classList]と[textContent]を繋げて一文にする方法を教えてください。
  • 条件演算子を使って要素に属性を追加する方法や、テキストを設定する方法について説明してください。
  • ブラウザでJavaScriptを実行する際に、複数の属性を一つの文にまとめて記述する方法について教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • Proof4
  • ベストアンサー率78% (151/192)
回答No.1

textContentもclassListもElement(h1)のプロパティのため、 h1.classList.add('pass').textContent = ... のような書き方はエラーになります。 すべて1行で書くにはカンマ演算子を用いて次のようにします。 score >= 80 ? (h1.textContent = 'Congrats', h1.classList.add('pass')) : (h1.textContent = 'You have failed', h1.classList.add('fail')) 蛇足ですが、この方法だと1行で書くことはできるものの、可読性が落ちるうえに記述が冗長(h1.textContentとh1.classListが2回ずつ出現する)なので一般に好まれないと思います。 行数は増えてしまいますが const cond = score >= 80; h1.textContent = cond ? 'Congrats' : 'You have failed'; h1.classList.add(cond ? 'pass' : 'fail'); のような書き方がわかりやすいかと思います。 参考 - textContent: https://developer.mozilla.org/ja/docs/Web/API/Node/textContent - classList: https://developer.mozilla.org/ja/docs/Web/API/Element/classList - カンマ演算子: https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Operators/Comma_Operator

blueletter12345
質問者

お礼

ありがとうございました。冗長にならずシンプルに記述するように努めます。

関連するQ&A