<html> <head> <script type='text/javascript'> window.onload = function(){ // onLoadイベントで動作させる document.getElementById("saiten").onclick = function(){ for( var t = document.getElementsByTagName("table")[0].getElementsByTagName("tbody")[0], k = 0; k < t.rows.length ; ++k ){ // 最初のテーブルを対象として行数分ループ var a = ""; // 答えのクリア for( var c = t.rows[k].cells[1].childNodes, i = 0; i < c.length; ++i ){ // 子要素の数だけループ if( c[i].checked == 1 ){ // チェックの入っている項目の次のノードから先頭1文字を抜き出して答えに加える。 a += c[++i].nodeValue.charAt(0); } } t.rows[k].cells[0].getElementsByTagName("input")[0].checked = a != t.rows[k].cells[2].innerHTML ? 1 : 0; // 答え合わせ } } } </script> </head> <body> <input type="button" id="saiten1" value="採点する"> <table> <tr> <td>第1問<input type="checkbox"></td> <td>赤いものはどれか すべて選べ<br> <input type="checkbox">a りんご<br> <input type="checkbox">b みかん<br> <input type="checkbox">c バナナ<br> <input type="checkbox">d グレープフルーツ<br> <input type="checkbox">e 雪 </td> <td>a</td> </tr> <tr> <td>第2問<input type="checkbox"></td> <td>赤いものはどれか すべて選べ<br> <input type="checkbox">a りんご<br> <input type="checkbox">b 赤信号<br> <input type="checkbox">c いちご<br> <input type="checkbox">d グレープフルーツ<br> <input type="checkbox">e 雪 </td> <td>abc</td> </tr> </table> <input type="button" id="saiten2" value="採点する"> </body> </html>
▽1
●
ぽけっとしすてむ ●500ポイント ベストアンサー |
既に出来上がっているものを弄るので、最小限に。
<html> <head> <script type='text/javascript'> window.onload = function(){ // onLoadイベントで動作させる document.getElementById("saiten1").onclick = function(){ saiten(); } document.getElementById("saiten2").onclick = function(){ saiten(); } function saiten(){ for( var t = document.getElementsByTagName("table")[0].getElementsByTagName("tbody")[0], k = 0; k < t.rows.length ; ++k ){ // 最初のテーブルを対象として行数分ループ var a = ""; // 答えのクリア for( var c = t.rows[k].cells[1].childNodes, i = 0; i < c.length; ++i ){ // 子要素の数だけループ if( c[i].checked == 1 ){ // チェックの入っている項目の次のノードから先頭1文字を抜き出して答えに加える。 a += c[++i].nodeValue.charAt(0); } } t.rows[k].cells[0].getElementsByTagName("input")[0].checked = a != t.rows[k].cells[2].innerHTML ? 1 : 0; // 答え合わせ } } } </script> </head> <body> <input type="button" id="saiten1" value="採点する"> <table> <tr> <td>第1問<input type="checkbox"></td> <td>赤いものはどれか すべて選べ<br> <input type="checkbox">a りんご<br> <input type="checkbox">b みかん<br> <input type="checkbox">c バナナ<br> <input type="checkbox">d グレープフルーツ<br> <input type="checkbox">e 雪 </td> <td>a</td> </tr> <tr> <td>第2問<input type="checkbox"></td> <td>赤いものはどれか すべて選べ<br> <input type="checkbox">a りんご<br> <input type="checkbox">b 赤信号<br> <input type="checkbox">c いちご<br> <input type="checkbox">d グレープフルーツ<br> <input type="checkbox">e 雪 </td> <td>abc</td> </tr> </table> <input type="button" id="saiten2" value="採点する"> </body> </html>