javascript
1$(function() {
2 // セレクトボックスが変更されたときにdivの文字色を変える処理
3 $("#color").on('change', function() {
4 if ($(this).val() == "red") {
5 $("#comment").css("color", "#ff0000");
6 }
7 if ($(this).val() == "blue") {
8 $("#comment").css("color", "#0000ff");
9 }
10 });
11});
現在auyaaさんが記述している処理は
「セレクトボックスが変更されたときにdivの文字色を変える処理」
だけです。
「セレクトボックスで今選択されている項目に合わせた色にdivの文字色を変える処理」
を最初(ページ表示時)に一回実行することで目的が達成できるかと思います。
今書かれてらっしゃるjavascriptの処理だけで実現可能(新たな記法、メソッド等は必要ない)ですので考えてみてください。
----- 以下コメントを受けて追記 -----
一番シンプルな方法としては、以下のようになるかと思います。
javascript
1$(function () {
2 // 最初に「セレクトボックスが変更された時に行う処理」と全く同じ処理を行って文字色を変更する
3 /* ここで$(this)を使うとhtml全体(厳密にはdocument要素)が取得されてしまうので
4 明示的に$("#color")と指定する*/
5 if ($("#color").val() == "red") {
6 $("#comment").css("color", "#ff0000");
7 }
8 if ($("#color").val() == "blue") {
9 $("#comment").css("color", "#0000ff");
10 }
11
12 // セレクトボックスが変更されたときにdivの文字色を変える処理
13 $("#color").on('change', function () {
14 if ($(this).val() == "red") {
15 $("#comment").css("color", "#ff0000");
16 }
17 if ($(this).val() == "blue") {
18 $("#comment").css("color", "#0000ff");
19 }
20 });
21});
同じ処理なので、関数にまとめて以下のようにしてもいいかもしれません。
javascript
1$(function () {
2 // 最初に「セレクトボックスが変更された時に行う処理」と全く同じ処理を行って文字色を変更する
3 /* ここで$(this)を使うとhtml全体(厳密にはdocument要素)が取得されてしまうので
4 明示的に$("#color")と指定する*/
5 setColor($("#color").val());
6
7 // セレクトボックスが変更されたときにdivの文字色を変える処理
8 $("#color").on('change', function () {
9 setColor($(this).val());
10 });
11});
12
13function setColor(colorName) {
14 if (colorName == "red") {
15 $("#comment").css("color", "#ff0000");
16 }
17 if (colorName == "blue") {
18 $("#comment").css("color", "#0000ff");
19 }
20}
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/07/11 05:35
2020/07/11 06:45
2020/07/11 15:20