• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:<tbody>)

HTMLをJavaScriptで多次元配列に変換する方法

このQ&Aのポイント
  • JavaScriptを使用して、HTMLを多次元配列に変換する方法について教えてください。
  • 具体的には、与えられたHTMLを一部抜粋し、以下のような形式の多次元配列に変換したいです:[['03/9', 0], ['03/11', 11]]
  • ご教授いただけると幸いです。

質問者が選んだベストアンサー

  • ベストアンサー
  • steel_gray
  • ベストアンサー率66% (1052/1578)
回答No.1

http://www.doraneko.org/misc/dom10/19981001/level-one-html.html#ID-67417573 tableの構成要素(rows)をforループでまわしながらcellsから値の取り出しをしていけばいいかと思います。 以下はテキトウ。 <table> <tbody id="TB"> <tr>  <td>   <div>03</div>  </td>  <td>   <div> 9</div>  </td>  <td>   <div>0</div>  </td> </tr> <tr>  <td>   <div>03</div>  </td>  <td>   <div>11</div>  </td>  <td>   <div>11</div>  </td> </tr> </tbody> </table> <script type="text/javascript">  var data = new Array();  var TBODY = document.getElementById('TB');  for(var r=0;TBODY.rows[r];r++) {   data[r] = new Array();   data[r][0] = parseNode(TBODY.rows[r].cells[0])    + '/' + parseNode(TBODY.rows[r].cells[1]);   data[r][1] = parseNode(TBODY.rows[r].cells[2]);  } alert(data[0][0]+','+data[0][1]);//確認 alert(data[1][0]+','+data[1][1]);//確認 //ノードを解析、テキストを返す。 function parseNode(P,str) {  if(! str) str = '';  for(var O=P.firstChild;O;O=O.nextSibling) {   if(O.nodeType == 3) {    str += O.nodeValue.replace(/\s+/g,'');   } else if(O.nodeType == 1) {    str += parseNode(O,str);   }  }  return str; } </script>

jammerhead
質問者

お礼

steel_grayさん、ありがとうございます。 試してみた結果、上手く動作しました!! まだまだ、初心者ですが、諸先輩方のお力を拝借しながら、 これからも、がんばりたいと思います!

関連するQ&A