TableオブジェクトCellオブジェクト
- Cellオブジェクト一覧
- セルの水平・垂直位置を取得・設定〔align/vAlignプロパティ〕
- セルのインデックス番号を取得〔cellIndexプロパティ〕
- セルのcolspan属性・rowspan属性を取得・設定〔colSpan/rowSpanプロパティ〕
- セル内のHTML文を取得・設定〔innerHTMLプロパティ〕
- セルの幅を取得・設定〔widthプロパティ〕
Cellオブジェクト一覧
2007/7/14
セルの水平・垂直位置を取得・設定
align/vAlignプロパティ
2007/7/14
Cellオブジェクト.align = left | center | right
Cellオブジェクト.vAlign = top | middle | bottom
Cellオブジェクト.vAlign = top | middle | bottom
alignプロパティは、セル(th要素、td要素)の水平位置を取得・設定します。
vAlignプロパティは、セル(th要素、td要素)の垂直位置を取得・設定します。
<style type="text/css"> table#tableA th, table#tableA td { width:100px; height:100px; } </style> <div class="tbl"> <table id="tableA"> <tr><th>item1</th><td>1-1</td><td>1-2</td><td>1-3</td></tr> <tr><th>item2</th><td>2-1</td><td>2-2</td><td>2-3</td></tr> <tr><th>item3</th><td>3-1</td><td>3-2</td><td>3-3</td></tr> </table> </div> <p> 水平位置: <input type="button" value="left" onclick="fCellAlign(this.value)"> <input type="button" value="center" onclick="fCellAlign(this.value)"> <input type="button" value="right" onclick="fCellAlign(this.value)"> </p> <p> 垂直位置: <input type="button" value="top" onclick="fCellvAlign(this.value)"> <input type="button" value="middle" onclick="fCellvAlign(this.value)"> <input type="button" value="bottom" onclick="fCellvAlign(this.value)"> </p> <p id="resCellAlign"></p> <p id="resCellvAlign"></p> <script> /* セルの水平位置を取得・設定 */ function fCellAlign(_align){ var s=""; var tObj=document.getElementById("tableA"); for(var i=0; i<tObj.rows.length; i++){ if(tObj.rows[i]!=null){ for(var j in tObj.rows[i].cells){ if(tObj.rows[i].cells[j]!=null){ if(tObj.rows[i].cells[j].nodeName=="TH" || tObj.rows[i].cells[j].nodeName=="TD"){ tObj.rows[i].cells[j].align=_align; s+="rows["+i+"].cells["+j+"].align = "+tObj.rows[i].cells[j].align+"<br>"; } } } } } document.getElementById("resCellvAlign").innerHTML=""; document.getElementById("resCellAlign").innerHTML=s; } /* セルの垂直位置を取得・設定 */ function fCellvAlign(_valign){ var s=""; var tObj=document.getElementById("tableA"); for(var i=0; i<tObj.rows.length; i++){ if(tObj.rows[i]!=null){ for(var j in tObj.rows[i].cells){ if(tObj.rows[i].cells[j]!=null){ if(tObj.rows[i].cells[j].nodeName=="TH" || tObj.rows[i].cells[j].nodeName=="TD"){ tObj.rows[i].cells[j].vAlign=_valign; s+="rows["+i+"].cells["+j+"].vAlign = "+tObj.rows[i].cells[j].vAlign+"<br>"; } } } } } document.getElementById("resCellAlign").innerHTML=""; document.getElementById("resCellvAlign").innerHTML=s; } </script>
item1 | 1-1 | 1-2 | 1-3 |
---|---|---|---|
item2 | 2-1 | 2-2 | 2-3 |
item3 | 3-1 | 3-2 | 3-3 |
水平位置:
垂直位置:
セルのインデックス番号を取得
cellIndexプロパティ
2007/7/14
Cellオブジェクト.cellIndex = インデックス番号
cellIndexプロパティは、セル(th要素、td要素)のインデックス番号を取得します。
サンプルを見る<div class="tbl"> <table id="tableB"> <tr><th>item1</th><td>1-1</td><td>1-2</td><td>1-3</td></tr> <tr><th>item2</th><td>2-1</td><td>2-2</td><td>2-3</td></tr> <tr><th>item3</th><td>3-1</td><td>3-2</td><td>3-3</td></tr> </table> </div> <p><input type="button" value="セル番号取得" onclick="fGetCellIndex()" /></p> <p id="resGetCellIndex"></p> <script> function fGetCellIndex(){ var s=""; var tObj=document.getElementById("tableB"); for(var i in tObj.rows){ if(tObj.rows[i].cells!=null){ for(var j in tObj.rows[i].cells){ //if(tObj.rows[i].cells[j].nodeName=="TH" || tObj.rows[i].cells[j].nodeName=="TD"){ if(tObj.rows[i].cells[j].cellIndex!=undefined){ s+="rows["+i+"].cells["+j+"].cellIndex = "+tObj.rows[i].cells[j].cellIndex+"<br>"; } } } } document.getElementById("resGetCellIndex").innerHTML=s; } </script>
item1 | 1-1 | 1-2 | 1-3 |
---|---|---|---|
item2 | 2-1 | 2-2 | 2-3 |
item3 | 3-1 | 3-2 | 3-3 |
セルのcolspan属性・rowspan属性を取得・設定
colSpan/rowSpanプロパティ
2007/7/14
Cellオブジェクト.colSpan = 数値
Cellオブジェクト.rowSpan = 数値
サンプルを見るCellオブジェクト.rowSpan = 数値
<p> <input type="button" value="td2のcolspan属性に3を設定" onclick="fTableC('td2',3)"> <input type="button" value="td2のrowspan属性に3を設定" onclick="fTableR('td2',3)"> <input type="button" value="元に戻す" onclick="fTableC('td2',1);fTableR('td2',1)"> </p> <div class="tbl"> <table> <tr><th>item1</th><td id="td1">1-1</td><td>1-2</td><td>1-3</td></tr> <tr><th>item2</th><td id="td2">2-1</td><td>2-2</td><td>2-3</td></tr> <tr><th>item3</th><td id="td3">3-1</td><td>3-2</td><td>3-3</td></tr> </table> </div> <script> function fTableC(id,num){ document.getElementById(id).colSpan=num; } function fTableR(id,num){ document.getElementById(id).rowSpan=num; } </script>
item1 | 1-1 | 1-2 | 1-3 |
---|---|---|---|
item2 | 2-1 | 2-2 | 2-3 |
item3 | 3-1 | 3-2 | 3-3 |
セル内のHTML文を取得・設定
innerHTMLプロパティ
2007/7/14
Cellオブジェクト.innerHTML = HTML文
innerHTMLプロパティは、セル(th要素、td要素)内のHTML文を取得します。
サンプルを見る<div class="tbl"> <table id="tableC"> <tr><th>item1</th><td>1-1</td><td><strong>1-2</strong></td><td>1-3</td></tr> <tr><th>item2</th><td>2-1</td><td><strong>2-2</strong></td><td>2-3</td></tr> <tr><th>item3</th><td>3-1</td><td><strong>3-2</strong></td><td>3-3</td></tr> </table> </div> <p> <input type="button" value="セル内のHTML文を取得" onclick="fGetInnerHTML()" /><br> <textarea id="resGetInnerHTML" cols="60" rows="10"></textarea> </p> <script> function fGetInnerHTML(){ var s=""; var tObj=document.getElementById("tableC"); for(var i in tObj.rows){ if(tObj.rows[i].cells!=null){ for(var j in tObj.rows[i].cells){ if(tObj.rows[i].cells[j].nodeName=="TH" || tObj.rows[i].cells[j].nodeName=="TD"){ s+=tObj.rows[i].cells[j].innerHTML+"\n"; } } } } if(navigator.userAgent.indexOf("MSIE")>-1){ /* IE */ document.getElementById("resGetInnerHTML").innerText=s; }else{ /* IE以外 */ /* document.getElementById("resGetInnerHTML").innerHTML=s; */ document.getElementById("resGetInnerHTML").textContent=s; } } </script>
item1 | 1-1 | 1-2 | 1-3 |
---|---|---|---|
item2 | 2-1 | 2-2 | 2-3 |
item3 | 3-1 | 3-2 | 3-3 |
セルの幅を取得・設定
widthプロパティ
2007/7/14
Cellオブジェクト.width = 数値(pixel) | auto | %
widthプロパティは、セルの幅を取得・設定します。
指定可能な値は、数値(pixel単位)、"auto"(自動)、パーセントです。
<p> セルの幅: <span id="resTableWidth" class="hi"></span><br> <input type="button" value="100px" onclick="fTableWidth('100px')"> <input type="button" value="200px" onclick="fTableWidth('200px')"> <input type="button" value="300px" onclick="fTableWidth('300px')"> <input type="button" value="400px" onclick="fTableWidth('400px')"> <input type="button" value="50%" onclick="fTableWidth('50%')"> <input type="button" value="100%" onclick="fTableWidth('100%')"> </p> <table id="tableD" border="1"> <tr><th>item1</th><td>1-1</td><td>1-2</td><td>1-3</td></tr> <tr><th>item2</th><td>2-1</td><td>2-2</td><td>2-3</td></tr> <tr><th>item3</th><td>3-1</td><td>3-2</td><td>3-3</td></tr> </table> <script> function fTableWidth(pixel){ var tObj=document.getElementById("tableD"); tObj.width=pixel; document.getElementById("resTableWidth").innerHTML=tObj.width; } </script>