すみません、教えてください。
cssのプロパティを動的に変更したいです。
以下のcssとHTMLがあります。
css
1.sample { 2 background-color: pink; 3}
HTML
1<p class="sample"> 2 背景色 3</p>
HTMLに変更を加えないことを前提に背景色を変更したいです。
私が考えたのはTypeScript側でquerySelectorを使ってプロパティを取得し変更できないかと思ったんですが
値がnullで取得できず困ってます...。
TypeScript
1 foo = document.querySelector<HTMLElement>(".sample"); 2 change() { 3 console.log(this.foo); 4 // null 5 }
何か良い方法ご存じであれば教えてください。
そもそもquerySelector時点ではとれてますか?
changeはどこで実行されますか?
TypeScriptは詳しくないですが、一般的にそのタイミングでのthisはメソッド実行した要素になるんでは。
Angularでやっているなら、
制御しているコンポーネントの内容と、
使用しているテンプレートHTMLのコードをなるたけ全て記載してください。
でないと回答しようがありません。
また、テンプレートHTMLにAngular構文を書いた方が、圧倒的に処理がしやすいのですが、HTMLを変えれない理由などがあるのでしょうか?
> TypeScriptは詳しくないですが、一般的にそのタイミングでのthisはメソッド実行した要素になるんでは。
一応、TypeScriptは、thisで、クラスないしインスタンス自身を指すことができます。
thisと宣言子の省略の場合は、クラスないしインスタンスのプロパティを参照しようとします。
といって、質問者さんが他の部分を記載されていないので、なんともいえませんが・・・。
(場合によってはその懸念もありえる)
回答1件
あなたの回答
tips
プレビュー