teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

1

質問追記

2019/01/21 07:10

投稿

---stax---
---stax---

スコア148

title CHANGED
File without changes
body CHANGED
@@ -50,4 +50,98 @@
50
50
  $( this ).children().not( 'th' ).toggleClass( 'colorchange' );
51
51
  } );
52
52
  } );
53
- ```
53
+ ```
54
+
55
+
56
+
57
+
58
+
59
+ 質問追記---------------------------------------------------------
60
+
61
+
62
+ 回答頂いた方ありがとうございます。
63
+ 頂いたコードはjsfiddleで目的の動作を確認致しました。
64
+ ただ、自分の実際の開発環境では動作しませんでした。
65
+
66
+
67
+ 自分なりに調査した結果、HTMLファイルに直接記入したものは上手く動作して、javascriptで処理の中で作成したものでは動作しませんでした。
68
+ このようなケースは稀なのかもしれませんが、当方知識が浅く、どのように調べてよいかもわからず行き詰っています。
69
+
70
+
71
+ 自分の作成しているアプリは質問欄の表でいう以下のtbodyにあたる部分をjavascriptで生成しています。
72
+ |1|2019-01-20|Aさん|
73
+ |:--|:--:|--:|
74
+ |2|2019-01-21|Bさん|
75
+
76
+ 規模が大きいので全文掲載出来ないのですが、以下がHTMLファイルのテーブルタグの部分
77
+ ```html
78
+ <table id="datatable"class="table is-bordered is-hoverable is-fullwidth">
79
+ <thead>
80
+ <tr class="is-selected" style="background-color: rgb(112, 112, 218)">
81
+ <th>件数</th> <th>入力時間</th>
82
+ </tr>
83
+ </thead>
84
+ <tbody id="tablebody">
85
+
86
+ </tbody>
87
+ </table>
88
+ ```
89
+ 以下がjsファイルでコメント記入している部分がHTMLを生成している部分になります
90
+ $('#tablebody').append( tr );の部分です
91
+ このように作成したHTMLでは所望の動作をしません
92
+ 選択した箇所の色の変更が適応されるのはHTMLで記載した<thead>内の<tr>だけでした
93
+
94
+ ```js
95
+ //table 内容作成
96
+ function dataTable(tabelDate) {
97
+ if (tabelDate.length > 0) {
98
+ for (var i = 0; i < tabelDate.length; i++) {
99
+ var lenCount = i + 1;
100
+ var doc = tabelDate[i];
101
+ var dateObj = [new Date(doc.date)];
102
+ var strDate = dateObj.toLocaleString()
103
+ var sliceStrDate = strDate.slice(0, 18)
104
+ var tr = `<tr><td> ${lenCount} </td><td> ${sliceStrDate} </td></tr>`; //HTMLタグを生成している部分
105
+ console.log(tr)
106
+ $('#tablebody').append( tr );
107
+ }
108
+ }
109
+ },
110
+ error: function () {
111
+ console.log('error');
112
+ }
113
+ });
114
+ };
115
+ ```
116
+ 以下のようにjavascriptで生成されるものをあらかじめHTMLファイルに記載しておくとどの行を選択しても色が変わり所望の動作をします
117
+ ```html
118
+ <table id="datatable"class="table is-bordered is-hoverable is-fullwidth">
119
+
120
+ <thead>
121
+ <tr>
122
+ <th>件数</th> <th>入力時間</th>
123
+ </tr>
124
+ </thead>
125
+
126
+ <tbody id="tbody">
127
+ <tr onClick="click('Tue Jan 20 2019 09:07:00 GMT+0900 (日本標準時)')">
128
+ <td> 1 </td>
129
+ <td> 2019/1/15 9:07:00 </td>
130
+ </tr>
131
+
132
+ <tr onClick="click('Tue Jan 20 2019 11:31:00 GMT+0900 (日本標準時)')">
133
+ <td> 2 </td>
134
+ <td> 2019/1/15 11:31:00 </td>
135
+ </tr>
136
+
137
+ <tr onClick="click('Tue Jan 20 2019 16:04:03 GMT+0900 (日本標準時)')">
138
+ <td> 3 </td>
139
+ <td> 2019/1/15 16:04:03 </td>
140
+ </tr>
141
+
142
+ </tbody>
143
+ </table>
144
+ ```
145
+ 自分で調べて分かったのが上記の部分までで何が原因でどう対処すればよいのか分からず悩んでいます。
146
+ 説明が分かりにくい部分があるかと思いますがどのような対処法が考えられるかアドバイス頂きたいです。
147
+ 重ねて質問して申し訳ありませんが宜しくお願い致します。