Arrayリストに関して
-
0 名前: ひろし : 2007/03/01(木) 03:32 ID:MR4gn3x7 sub-vG
- はじめまして。
JavaScriptのArrayに関して質問させて下さい。
カーソルが乗ると色の変わるHTMLを下記のように作成しました。
-------------------------------------------------------------
<HTML>
<HEAD>
<SCRIPT language="JavaScript">
function changeColor(id,size){
td = new Array(td1,td2,td3);//TDタグに付けたIDの配列
link = new Array(link1,link2,link3);//リンクタグに付けたIDの配列
for(i=0;i<td.length;i++){
if(id==link[i]){
td[i].style.backgroundColor="blue";
link[i].style.color="white";
}else{
td[i].style.backgroundColor="white";
link[i].style.color="red";
}
}
}
</SCRIPT>
</HEAD>
<BODY>
<TABLE border="1" rules="cols" width="110">
<TBODY>
<TR>
<TD id="td1" style="background-color:blue;"><FONT color="blue">■</FONT>
<A href="aaa.html" id="link1" style="color:white;" onmouseover="changeColor(this)">あああ</A></TD>
</TR>
<TD id="td2" style="background-color:white;"><FONT color="blue">■</FONT>
<A href="aaa.html" id="link2" style="color:red;" onmouseover="changeColor(this)">いいい</A></TD>
</TR>
<TD id="td3" style="background-color:white;"><FONT color="blue">■</FONT>
<A href="aaa.html" id="link3" style="color:red;" onmouseover="changeColor(this)">ううう</A></TD>
</TR>
</TBODY>
</TABLE>
</BODY>
</HTML>
-------------------------------------------------------------
ここで、質問なのですが、Javaでプログラムを乗せようと思うのですが
td = new Array(td1,td2,td3);//TDタグに付けたIDの配列
link = new Array(link1,link2,link3);//リンクタグに付けたIDの配列
の部分を動的に増やすにはどのようにすればよいのでしょうか?
td = new Array(size);
for(i=0;i<size;i++){
td[i] = "td"+(i+1);
}
とすると「td」がオブジェクトとしてではなく、文字列と認識されてしまいtd[i].style.backgroundColorが取得できません。
また、
aaa = new Array(size);
for(i=0;i<size;i++){
aaa[i] = td+(i+1);
}
とするとtdをセットできません。
どなたかご教授ください。
-
1 名前: 元帥 : 2007/03/01(木) 03:32 [URL] ID:4CcCh4kv sub-bK
- > ここで、質問なのですが、Javaでプログラムを乗せようと思うのですが
つまり、Javaアプレットか、JSPを併用したいって事?
JavaとJavaScriptは、インドとインドネシアくらいの違いがありますよ。
因みに>>0はNetscape7.1では動作しませんでした。
配列を宣言する際、各id名をダブルクォートorシングルクォートで囲む。
色を変更する際、getElementByIdを使う。
if文判定でid.idとする、or 関数を呼び出す際の引数をthis.idとする。
以上の三点の変更により一応は動作するようになります。