dポイントプレゼントキャンペーン実施中!

Tableの枠線(内・外)色を変更する場合、
CSSだと、

.Table {
border-color:#FFFFFF;
}
.Table TD{ border-color:#FFFFFF;}
.Table TR{ border-color:#FFFFFF;}

で変更できますが、
これをJacasvriptで対応するにはどのようにしたらいいのでしょうか?

FireFoxもIEも対応したいと思っています。
BorderColor="#FFFFFF"だけだと、
FireFoxで枠線の外側しか変更できません。

たぶんCSSと組み合わせる必要があると思います。

よろしくお願いします。

A 回答 (3件)

こんにちは



こんな感じ?


<script type="text/javascript"><!--
function ch(Color) {
ta = document.getElementById("Table");
tb = ta.getElementsByTagName("td");

ta.style.borderColor = Color;
for(i=0;i<tb.length;i++) {
tb[i].style.borderColor = Color;
}
}
//--></script>

<style type="text/css">
#Table { border:1px solid; }
td { border:1px solid; }
</style>


<table id="Table">
<tr>
<td></td>
<td></td>
</tr>
<tr>
<td></td>
<td></td>
</tr>
</table>
<input type="button" value="blue" onclick="ch('blue')">
<input type="button" value="red" onclick="ch('red')">
<input type="button" value="lawngreen" onclick="ch('#7CFC00')">
<input type="button" value="yellow" onclick="ch('#FFFF00')">
    • good
    • 0

http://www.tohoho-web.com/js/dom.htm#getElements …
↑で操作タグを特定して
http://www.tohoho-web.com/js/style.htm
↑で操作

が妥当じゃないかな。


そうじゃなくて全体のをjavascriptで変更する方法?
    • good
    • 0

ご要望に沿っているかどうか解りませんが、


下記のHTMLは、ボタンをクリックして特定のTableの線色を変更できます。
(IE6 SP1とFireFox2.0.0.12で動作確認済)
ポイントは
 ・TableにIDをつける
 ・TableとTD用のスタイルを、各2種類用意
 ・javascriptで、TableとTDのスタイル名を変更している
という3点です。

<html>
<head>
<style type="text/css">
table.table_red {
border-style:solid;
border-width:1px;
border-color:#ff0000;
}
table.table_blue {
border-style:solid;
border-width:1px;
border-color:#0000ff;
}
td.td_red {
border-style:solid;
border-width:1px;
border-color:#ff0000;
}
td.td_blue{
border-style:solid;
border-width:1px;
border-color:#0000ff;
}
</style>
<script type="text/javascript">
<!--
function change_color()
{
document.all.tb1.className = "table_blue";
for ( i = 0; i < document.all.tb1.rows.length; i++ )
{
for ( k = 0; k < document.all.tb1.rows[i].cells.length; k++ )
{ document.all.tb1.rows[i].cells[k].className = "td_blue"; }
}
}
//-->
</script>
</head>
<body>
<table id="tb1" class="table_red">
<tr>
<td class="td_red">AAAAAAA</td>
<td class="td_red">BBBBBBB</td>
</tr>
</table>
<input type="button" name="btn1" value="色変更" onClick="change_color();">
</body>
</html>
ちなみにIEの場合、Javascriptのループは
for ( i = 0; i < document.all.tb1.cells.length; i++ )
{ document.all.tb1.cells[i].className = "td_blue"; }
これだけでもOKですが、FireFoxはNGす。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!