質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

1回答

665閲覧

あるときだけJavaScriptがエラーになります。

fattc

総合スコア1

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

0クリップ

投稿2021/06/13 12:51

前提・実現したいこと

現在時刻から時刻表を検索し、表示させる。

発生している問題・エラーメッセージ

時間の切り替わる前(例:xx:59,xx:58,xx:57)など

TypeError: undefined is not an object (evaluating 'weekdayKa.rows[row].cells')

該当のソースコード

JavaScript

1<script type="text/javascript"> 2 3 var now; 4 var nhour; 5 var nmin; 6 var scel; 7 8 window.onload = function serch(){ 9 10 now = new Date(); 11 12 nhour= now.getHours(); 13 14 if(now.getMinutes() < 10){ 15 nmin = "0" + now.getMinutes(); 16 }else{ 17 nmin= now.getMinutes();} 18 19 var nyou = now.getDay(); 20 21 22 23 24 var time1; 25 var time; 26 27 28 29 if( nhour >=22 && nmin>=51 ){ 30 var row = 197; 31 }else if(nhour >= 23){ 32 var row = 197; 33 }else if(nhour < 5){ 34 var row = 0; 35 }else{ 36 for(var row=0; row<=1000; row++){ 37 38 var shour = nhour + 1; 39 time1 = weekdayKe.rows[row].cells[0].innerHTML; 40 time = time1.split(':'); 41 42 if( nhour == time[0]){ 43 if( nmin <= time[1]){ 44 45 break; 46 }else if(shour == time[0]){ 47 48 break; 49 }}}}; 50 51 52 var Uzusenpatsu =(weekdayKe.rows[row].cells[0].innerHTML); 53 var Uzujihatsu =(weekdayKe.rows[row + 1].cells[0].innerHTML); 54 var Uzujijihatsu =(weekdayKe.rows[row + 2].cells[0].innerHTML); 55 var Uzuyonhatsu =(weekdayKe.rows[row + 3].cells[0].innerHTML); 56 var Uzugohatsu =(weekdayKe.rows[row + 4].cells[0].innerHTML); 57 58 var Uzusenpatsufor =(weekdayKe.rows[row].cells[1].innerHTML); 59 var Uzujihatsufor =(weekdayKe.rows[row + 1].cells[1].innerHTML); 60 var Uzujijihatsufor=(weekdayKe.rows[row + 2].cells[1].innerHTML); 61 var Uzuyonhatsufor=(weekdayKe.rows[row + 3].cells[1].innerHTML); 62 var Uzugohatsufor=(weekdayKe.rows[row + 4].cells[1].innerHTML); 63 64 65 if( nhour >=23 && nmin>=1 ){ 66 var row = 162; 67 }else if(nhour < 5){ 68 var row = 0; 69 }else{ 70 var shour= nhour + 1; 71 for(var row=0; row<=1000; row++){ 72 time1 = weekdayKa.rows[row].cells[0].innerHTML; 73 time = time1.split(':'); 74 if( nhour == time[0]){ 75 if( nmin <= time[1]){ 76 break; 77 }else if(shour == time[0]){ 78 if( nmin >= 0){ 79 break; 80 }}}}}; 81 82 var Tasenpatsu =(weekdayKa.rows[row].cells[0].innerHTML); 83 var Tajihatsu =(weekdayKa.rows[row + 1].cells[0].innerHTML); 84 var Tajijihatsu =(weekdayKa.rows[row + 2].cells[0].innerHTML); 85 var Tayonhatsu =(weekdayKa.rows[row + 3].cells[0].innerHTML); 86 var Tagohatsu =(weekdayKa.rows[row + 4].cells[0].innerHTML); 87 88 var Tasenpatsufor =(weekdayKa.rows[row].cells[1].innerHTML); 89 var Tajihatsufor =(weekdayKa.rows[row + 1].cells[1].innerHTML); 90 var Tajijihatsufor=(weekdayKa.rows[row + 2].cells[1].innerHTML); 91 var Tayonhatsufor=(weekdayKa.rows[row + 3].cells[1].innerHTML); 92 var Tagohatsufor=(weekdayKa.rows[row + 4].cells[1].innerHTML); 93 94 95 96 if( nhour >=23 && nmin>=7 ){ 97 var row = 195; 98 }else if(nhour < 5){ 99 var row = 0; 100 }else{ 101 102 103 for(var row=0; row<=1000; row++){ 104 time1 = weekdayR.rows[row].cells[0].innerHTML; 105 time = time1.split(':'); 106 if( nhour == time[0]){ 107 if( nmin <= time[1]){ 108 break; 109 }else if(nhour + 1 == time[0]){ 110 if( nmin >= 0){ 111 break; 112 }}}}}; 113 114 var Rsenpatsu =(weekdayR.rows[row].cells[0].innerHTML); 115 var Rjihatsu =(weekdayR.rows[row + 1].cells[0].innerHTML); 116 var Rjijihatsu =(weekdayR.rows[row + 2].cells[0].innerHTML); 117 var Ryonhatsu =(weekdayR.rows[row + 3].cells[0].innerHTML); 118 var Rgohatsu =(weekdayR.rows[row + 4].cells[0].innerHTML); 119 120 var Rsenpatsufor =(weekdayR.rows[row].cells[1].innerHTML); 121 var Rjihatsufor =(weekdayR.rows[row + 1].cells[1].innerHTML); 122 var Rjijihatsufor=(weekdayR.rows[row + 2].cells[1].innerHTML); 123 var Ryonhatsufor=(weekdayR.rows[row + 3].cells[1].innerHTML); 124 var Rgohatsufor=(weekdayR.rows[row + 4].cells[1].innerHTML); 125 126 127 if( nhour ==0 && nmin>=5 ){ 128 var row = 0 129 }else if(nhour < 5){ 130 var row = 0; 131 }else{ 132 133 for(var row=0; row<=1000; row++){ 134 time1 = weekdayTK.rows[row].cells[0].innerHTML; 135 time = time1.split(':'); 136 if( nhour == time[0]){ 137 if( nmin <= time[1]){ 138 break; 139 }else if(nhour + 1 == time[0]){ 140 if( nmin >= 0){ 141 break; 142 }}}}}; 143 144 var TKsenpatsu =(weekdayTK.rows[row].cells[0].innerHTML); 145 var TKjihatsu =(weekdayTK.rows[row + 1].cells[0].innerHTML); 146 var TKjijihatsu =(weekdayTK.rows[row + 2].cells[0].innerHTML); 147 var TKyonhatsu =(weekdayTK.rows[row + 3].cells[0].innerHTML); 148 var TKgohatsu =(weekdayTK.rows[row + 4].cells[0].innerHTML); 149 150 var TKsenpatsufor =(weekdayTK.rows[row].cells[1].innerHTML); 151 var TKjihatsufor =(weekdayTK.rows[row + 1].cells[1].innerHTML); 152 var TKjijihatsufor=(weekdayTK.rows[row + 2].cells[1].innerHTML); 153 var TKyonhatsufor=(weekdayTK.rows[row + 3].cells[1].innerHTML); 154 var TKgohatsufor=(weekdayTK.rows[row + 4].cells[1].innerHTML); 155 156 157 158 159 result.innerHTML= '<h1 style="color:white">'+"検索時刻"+nhour+":"+nmin+'<br>'+ 160 '<img src="Ke1.jpg" alt="地下鉄東西線 蹴上駅 [1]京都市役所前・烏丸御池•太秦天神川方面" height="80px">'+'<br>'+ 161 '<table class="display">'+'<tr>'+'<td>'+ 162 163 '<img src="1st.jpg" alt="1st" width="100px" height="100px">'+'</td>'+ 164 '<td>'+Uzusenpatsu.fontsize(7)+'</td>'+'<td>'+Uzusenpatsufor.fontsize(7)+'</td>'+'</tr>'+'<tr>'+'<td>'+ 165 166 '<image src="2nd.jpg" alt="2nd" height="100px">'+ '</td>'+'<td>'+ 167 Uzujihatsu.fontsize(7) +'</td>'+'<td>'+Uzujihatsufor.fontsize(7)+'</td>'+'</tr>'+'<tr>'+'<td>'+ 168 169 '<img src="3rd.jpg" alt="3rd" height="100px">'+'</td>'+'<td>'+ 170 Uzujijihatsu.fontsize(7)+'</td>'+'<td>'+Uzujijihatsufor.fontsize(7)+'</td>'+'</tr>'+'<tr>'+'<td>'+ 171 172 '<img src="4th.jpg" alt="4th" height="100px">'+'</td>'+'<td>'+ 173 Uzuyonhatsu.fontsize(7)+'</td>'+'<td>'+Uzuyonhatsufor.fontsize(7)+'</td>'+'</tr>'+'<tr>'+'<td>'+ 174 175 '<img src="5th.jpg" alt="5th" height="100px">'+'</td>'+'<td>'+ 176 Uzugohatsu.fontsize(7)+'</td>'+'<td>'+Uzugohatsufor.fontsize(7)+'</td>'+'</tr>'+'</table>'+ 177 178 '<img src="weekday.jpg" alt="平日" height="100px">'+'<br>'+ 179 180 '<img src="Ka1.jpg" alt="地下鉄烏丸線 烏丸御池駅 [1]京都・竹田・近鉄奈良方面" height="80px">'+'<br>'+ 181 '<table class="display">'+'<tr>'+'<td>'+ 182 '<img src="1st.jpg" alt="1st" width=100px" height="100px">'+'</td>'+'<td>'+ 183 Tasenpatsu.fontsize(7)+'</td>'+'<td>'+Tasenpatsufor.fontsize(7)+'</td>'+'</tr>'+'<tr>'+'<td>'+ 184 '<image src="2nd.jpg" alt="2nd" height="100px">'+'</td>'+'<td>'+ 185 Tajihatsu.fontsize(7) +'</td>'+'<td>'+Tajihatsufor.fontsize(7)+'</td>'+'</tr>'+'<tr>'+'<td>'+ 186 '<img src="3rd.jpg" alt="3rd" height="100px">'+'</td>'+'<td>'+ 187 Tajijihatsu.fontsize(7)+'</td>'+'<td>'+Tajijihatsufor.fontsize(7)+'</td>'+'</tr>'+'<tr>'+'<td>'+ 188 '<img src="4th.jpg" alt="4th" height="100px">'+'</td>'+'<td>'+ 189 Tayonhatsu.fontsize(7)+'</td>'+'<td>'+Tayonhatsufor.fontsize(7)+'</td>'+'</tr>'+'<tr>'+'<td>'+ 190 '<img src="5th.jpg" alt="5th" height="100px">'+'</td>'+'<td>'+ 191 Tagohatsu.fontsize(7)+'</td>'+'<td>'+Tagohatsufor.fontsize(7)+'</td>'+'</tr>'+'</table>'+ 192 '<img src="weekday.jpg" alt="平日" height="100px">'+'<br>'+ 193 194 195 196 197 '<img src="Ta1.jpg" alt="近鉄京都線 竹田駅 [1]丹波橋・新田辺・奈良方面" height="80px">'+'<br>'+ 198 '<table class="display">'+'<tr>'+'<td>'+ 199 200 '<img src="1st.jpg" alt="1st" width="100px" height="100px">'+'</td>'+ 201 '<td>'+TKsenpatsu.fontsize(7)+'</td>'+'<td>'+TKsenpatsufor.fontsize(7)+'</td>'+'</tr>'+'<tr>'+'<td>'+ 202 203 '<image src="2nd.jpg" alt="2nd" height="100px">'+ '</td>'+'<td>'+ 204 TKjihatsu.fontsize(7) +'</td>'+'<td>'+TKjihatsufor.fontsize(7)+'</td>'+'</tr>'+'<tr>'+'<td>'+ 205 206 '<img src="3rd.jpg" alt="3rd" height="100px">'+'</td>'+'<td>'+ 207 TKjijihatsu.fontsize(7)+'</td>'+'<td>'+TKjijihatsufor.fontsize(7)+'</td>'+'</tr>'+'<tr>'+'<td>'+ 208 209 '<img src="4th.jpg" alt="4th" height="100px">'+'</td>'+'<td>'+ 210 TKyonhatsu.fontsize(7)+'</td>'+'<td>'+TKyonhatsufor.fontsize(7)+'</td>'+'</tr>'+'<tr>'+'<td>'+ 211 212 '<img src="5th.jpg" alt="5th" height="100px">'+'</td>'+'<td>'+ 213 TKgohatsu.fontsize(7)+'</td>'+'<td>'+TKgohatsufor.fontsize(7)+'</td>'+'</tr>'+'</table>'+ 214 '<img src="weekday.jpg" alt="平日" height="100px">'+'<br>'+ 215 216 '<img src="Ke2.jpg" alt="地下鉄東西線 蹴上駅 [2]御陵・六地蔵/びわ湖浜大津方面" height="80px">'+'<br>'+ 217 '<table class="display">'+'<tr>'+'<td>'+ 218 219 '<img src="1st.jpg" alt="1st" width="100px" height="100px">'+'</td>'+ 220 '<td>'+Rsenpatsu.fontsize(7)+'</td>'+'<td>'+Rsenpatsufor.fontsize(7)+'</td>'+'</tr>'+'<tr>'+'<td>'+ 221 222 '<image src="2nd.jpg" alt="2nd" height="100px">'+ '</td>'+'<td>'+ 223 Rjihatsu.fontsize(7) +'</td>'+'<td>'+Rjihatsufor.fontsize(7)+'</td>'+'</tr>'+'<tr>'+'<td>'+ 224 225 '<img src="3rd.jpg" alt="3rd" height="100px">'+'</td>'+'<td>'+ 226 Rjijihatsu.fontsize(7)+'</td>'+'<td>'+Rjijihatsufor.fontsize(7)+'</td>'+'</tr>'+'<tr>'+'<td>'+ 227 228 '<img src="4th.jpg" alt="4th" height="100px">'+'</td>'+'<td>'+ 229 Ryonhatsu.fontsize(7)+'</td>'+'<td>'+Ryonhatsufor.fontsize(7)+'</td>'+'</tr>'+'<tr>'+'<td>'+ 230 231 '<img src="5th.jpg" alt="5th" height="100px">'+'</td>'+'<td>'+ 232 Rgohatsu.fontsize(7)+'</td>'+'<td>'+Rgohatsufor.fontsize(7)+'</td>'+'</tr>'+'</table>'+ 233 234 '<img src="weekday.jpg" alt="平日" height="100px">'+'<br>'+ 235 236 '</h1>' 237 238 239 240 }; 241 242 243 244</script>

試したこと

何をすればいいかわかりません

補足情報(FW/ツールのバージョンなど)

htmlに0列:時刻,1列:行先が書かれています。時刻の切り替わりの前以外は正常に動作します。プレビュー:リンク内容

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

インデントが乱れているためコーディングのミスに気付くのが難しくなっています。
問題のある個所のインデントを整えてみました。

JavaScript

1 if ( nhour == time[0] ) { 2 if ( nmin <= time[1] ) { 3 break; 4 } else if ( shour == time[0] ) { 5 break; 6 } 7 }

ミスがわかりますか?
修正するとこうです。

if ( nhour == time[0] ) { if ( nmin <= time[1] ) { break; } } else if ( shour == time[0] ) { break; }

4か所ありますので、4か所とも修正してください。

投稿2021/06/13 13:53

itagagaki

総合スコア8402

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問