javascriptでボタンを押すたびにテキストエリアを追加しようとしています。
下記の内容を応用して
1 テキストエリア(1)
2 テキストエリア(2)
3 テキストエリア(3)
4 テキストエリア(4)



ボタンを押すたびに追加され15個まで増やすという風にしようとしているのですが、うまくいきません。テーブルの中に入るところまでは良くのですが、連番の数字を入れるのができません。

var tag_num=4;
function myTextAreaAdd(obj){
var max=15;
var c=count("howto");
if(c>=max)
return false;
var oTag = document.createElement("textarea");
oTag.setAttribute("name", "howto" + tag_num++);
var oDiv = document.getElementById("area");
oDiv.appendChild(oTag);
if(c>=max-1)
obj.disabled=true;
}
教えてください。宜しくお願いします。

このQ&Aに関連する最新のQ&A

A 回答 (6件)

ちょっと微妙だけど、各行の共通部分が多いならcloneNodeする方が


いいとおもいますよ。

で、こんな感じで・・・

<script>
function myTextAreaAdd(obj){
var max=15;
var objTRs=document.getElementById("table").getElementsByTagName("tr");
var tag_num=objTRs.length;
var newTR=objTRs[0].cloneNode(true);
var objTD=newTR.getElementsByTagName("td")[0];
while(n=objTD.lastChild) objTD.removeChild(n);
var newTXT=document.createTextNode((++tag_num).toString());
objTD.appendChild(newTXT);
var nTA=newTR.getElementsByTagName("textarea")[0];
nTA.setAttribute("name","howto"+newTXT);
objTRs[0].parentNode.appendChild(newTR);
if(tag_num>=max) obj.disabled=true;
}
</script>
<table id="table" summary="">
<tr><td>1</td><td><textarea name="howto1"></textarea></td></tr>
<tr><td>2</td><td><textarea name="howto2"></textarea></td></tr>
<tr><td>3</td><td><textarea name="howto3"></textarea></td></tr>
<tr><td>4</td><td><textarea name="howto4"></textarea></td></tr>
</table>
<input type="button" value="add" onclick="myTextAreaAdd(this)">
    • good
    • 0
この回答へのお礼

ああ・・・なるほどです。
こういう方法があるんですね・・・。
とても勉強になりました。
有難うございました。

お礼日時:2009/05/20 21:54

No.4です。


バグがあったので・・・。(theadなどがある場合にも対応)

function add() {
if( size == 15 ) return;

var table = doc.getElementById("table");
var childs = table.getElementsByTagName("tbody");
var body = table;
if( childs != null && childs[0].tagName.toLowerCase() == "tbody" ) {
body = childs[0];
}
createChild(body);
}
    • good
    • 0
この回答へのお礼

有難うございます。
うまくいきました。
助かりました。

お礼日時:2009/05/20 21:55

>document.createElement("tr")とかを使ってやろうとしていますがうまくいきません。


たぶんtbody要素ではなくtable要素に追加しようとしているためです。

No.2の方より
>Firefox, Opera, Safariではtbody要素がなくても動きますが、IEでは動かなくなります。
とのことなのでtbody要素があればtbody要素に、なければtable要素に追加するようにしました。

<html>
<head>
<title>sample</title>
<script type="text/javascript">
<!--
var doc = window.document;
var size = 5;

function add() {
if( size == 15 ) return;

var table = doc.getElementById("table");
var child = table.childNodes[0];
var body = table;
if( child.tagName.toLowerCase() == "tbody" ) {
body = child;
}
createChild(body);
}

function createChild(body) {
var tr = doc.createElement("tr");
body.appendChild(tr);

var td = doc.createElement("td");
td.appendChild(doc.createTextNode(++size));
tr.appendChild(td);

td = doc.createElement("td");
tr.appendChild(td);

var textarea = doc.createElement("textarea");
textarea.setAttribute("name", "howto" + size);

td.appendChild(textarea);
}
// -->
</script>
</head>
<body>
<table id="table" summary="">
<tr><td>1</td><td><textarea name="howto1"></textarea></td></tr>
<tr><td>2</td><td><textarea name="howto2"></textarea></td></tr>
<tr><td>3</td><td><textarea name="howto3"></textarea></td></tr>
<tr><td>4</td><td><textarea name="howto4"></textarea></td></tr>
<tr><td>5</td><td><textarea name="howto5"></textarea></td></tr>
</table>
<input type="button" value="add" onclick="add()"/>
</body>
</html>
    • good
    • 0

けんしょうしてないけど・・・ばぶぅ。


 document.getElementById('b').onclick = function(){
  var max = 15, b = document.getElementById('t'), n = b.rows.length, t;
  if ( n < max) {
   t = b.rows[0].cloneNode(true);
   t.childNodes[0].firstChild.nodeValue = ++n;
   t.childNodes[1].name,'howto' + n;
   b.appendChild(t);
   this.disabled=n==max;
  }
 }
    • good
    • 0

これでどうでしょう?



どんな風につまづいたのかわからなかったので、何を実現したいのかを汲み取ったつもりです。
ご質問中にある「obj.disabled=true」は、最大数に達したらボタンを押せないようにするという意図だと解釈してあります。

気をつけるべきポイントとしては、tbody要素を入れる必要があることでしょうか。
Firefox, Opera, Safariではtbody要素がなくても動きますが、IEでは動かなくなります。

---

<html>

<head>

<script>
window.onload = function() {
document.getElementById('b').onclick = function(){
var max = 15;

var table = document.getElementById('t');
var rows = table.getElementsByTagName('tr').length;
if ( rows < max) {
table.appendChild(createRow(++rows));
}
this.disabled = ( rows >= max );

function createRow(n) {
var row = document.createElement('tr');

var cell = document.createElement('td');
cell.appendChild(document.createTextNode(n));
row.appendChild(cell);

var area = document.createElement('textarea');
area.setAttribute('name','howto'+n);
cell = document.createElement('td');
cell.appendChild(area);
row.appendChild(cell);

return row;
}
}
}
</script>

</head>

<body>

<table>
<tbody id="t">
<tr><td>1</td><td><textarea name="howto1"></textarea></td></tr>
<tr><td>2</td><td><textarea name="howto2"></textarea></td></tr>
<tr><td>3</td><td><textarea name="howto3"></textarea></td></tr>
<tr><td>4</td><td><textarea name="howto4"></textarea></td></tr>
</tbody>
</table>

<input id="b" type="button" value="add"/>

</body>

</html>
    • good
    • 0

var c=count("howto");


ってなにがしたいのでしょうか?

tag_numでグローバルにカウントしているのですから
そちらをつかってみては?

<script>
var tag_num=4;
function myTextAreaAdd(obj){
var max=15;
var oTag = document.createElement("textarea");
oTag.setAttribute("name", "howto" + tag_num++);
var oDiv = document.getElementById("area");
oDiv.appendChild(oTag);
if(tag_num>=max) obj.disabled=true;
}
</script>
<div id="area">
<textarea></textarea>
<textarea></textarea>
<textarea></textarea>
<textarea></textarea>
</div>
<input type="button" value="add" onclick="myTextAreaAdd(this)">

この回答への補足

ご返答有難うございます。
テーブルで
<table>
<tr><td>1</td><td><textarea name="howto1"></textarea></td></tr>
<tr><td>2</td><td><textarea name="howto2"></textarea></td></tr>
<tr><td>3</td><td><textarea name="howto3"></textarea></td></tr>
<tr><td>4</td><td><textarea name="howto4"></textarea></td></tr>
</table>
<input type="button" value="add" onclick="myTextAreaAdd(this)">
で5個目以降を追加しようとしています。
document.createElement("tr")とかを使ってやろうとしていますがうまくいきません。
本当に申し訳ないですが教えて下さい。
宜しくお願いします。

補足日時:2009/05/15 18:52
    • good
    • 0

このQ&Aに関連する人気のQ&A

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

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q亀甲牡丹ヒントニーの育て方

1年前くらいに、亀甲牡丹ヒントニー(実生?)の小さい鉢植えを買いました。
お店の人が、肥料などはいらないから水だけ2週間に1回くらいでコップ1杯くらいあげて、と言っていたので、そうしていたのですが、最近になって、葉っぱ?が茶色になってきています(枯れてる?)
夏ぐらいまでは綺麗な緑色だったのですが。
室内の日はあんまりあたらないところに置いてます。
サボテンを育ててるのは初めてで、どうしたらよいのか全く分からないです。

水やりの頻度や量をこうしたらいいとか、肥料はいらないのか、とかアドバイスがあったら教えてください。
今は、まだ直径4センチ、高さ2センチくらいの大きさです。
鉢が買ったときの小さいもの(直径8センチ、高さ10cmくらい)なのですが、植え替えたほうがいいのでしょうか。
また、日なたに置くのと日陰におくのとどちらがいいのでしょうか。

参考になるのかわかりませんが、今朝とった写真をつけました。

Aベストアンサー

誠に残念ですが、画像を見る限り九分九厘枯れています。
一分の望みはあるかも知れませんが、このような状態になってからでは
助けようがありません。元の緑色に戻すのは不可能です。
今後に新たに購入されるかも知れませんので、亀甲牡丹ヒントニーが何
であるかと言うより、サボテンがどんな植物であるのかを説明したいと
思います。これを読めばサボテンと言う植物が分かり、販売店の方が言
われた事が間違いだった事が分かります。

サボテンと言う植物は暑さや乾燥に非常に強く、多湿や寒さには非常に
弱い植物が多いです。一部には寒さにも強い種類もありますが、そのよ
うな種類は世界中に数種類しかありません。
暑さに強いと言うのは、自生地が亜熱帯や砂漠等で自生する物が多いと
言う訳で、長期間も雨が降らないメキシコ等が有名です。
体に水分を蓄えられる機能を持っているため、水遣りを怠っても直ぐに
は枯れる事がありません。蓄えた水分を少しづつ使用し、雨が降るまで
生き延びようとします。蓄えた水にも限りがあるので、全て使い切って
しまうと当然ですが枯れてしまいます。逆に普通の草花のように毎日の
ように水遣りをすると、蓄えられる水分分量を超えますから、根腐れを
起こして腐敗して枯れてしまいます。

どんな植物や樹木でも共通しますが、植替え時期は必ず決められていま
す。何時でも植替えが出来るとは考えないで下さい。決められた時期に
植替えを行うようにし、状態が悪くなってからでは手遅れになります。
亀甲牡丹は通常のサボテンと同じですから、植替えは5~9月の間だけ
で行います。僕の長年の経験からすると、出来るなら梅雨時期と猛暑の
時期を除いた時期が良く、梅雨入り前までに植替えを済ませた方が良く
なります。古い土は全て捨て、新しい土を使用して植替えます。
土は市販のサボテンと多肉植物の土を使用し、何も混ぜないで購入時の
ままで使用しますが、保水性が高い種類が多いので園芸用の川砂を2割
程混ぜても構いません。

肥料は植替え時に緩効性化成肥料(マグァンプK等)を混ぜて使用し、
次回の植替えまで一切与えません。置き肥で与える時は5~9月の間に
2ヶ月に1回で少量与えます。

置き場所は年間を通して日当たりの良い場所に置き、真夏だけは光線に
より本体が焼けて茶色く変色する事があるので、真夏だけは直射日光が
当たらない場所で弱い光線に当てます。冬場は外気温が5℃近くになっ
たら早めに室内に入れ、光線が十分に当たる窓辺で管理をします。
それ以外の時期は全て屋外で管理をします。猫可愛がりをすると外気温
が7℃以上は無いと越冬が出来ないので、寒さに多少でも強くさせるに
は冬以外は屋外で光線に当てるようにします。
植替え期間は鉢の大きさで決めます。7号鉢を基準とし、それ以下なら
年毎に植替えをし、それ以上なら2年毎に植替えをします。

水遣りは4~10月は鉢土が完全に乾いてから、更に1週間経ってから
鉢底から十分に水が流れ出るまで与えます。この時にコップ半分や1杯
等と量を決めたり、2週間と言うような期間を定めるのは絶対に避ける
ようにします。与える時は鉢底から水が流れ出るまで与えるのが原則で
す。店員さんの言われた方法は、機械的水遣りと言い絶対に行っては駄
目な方法です。店員さんはサボテンの事を全く知らない人のようです。
冬場は休眠するので、1ヶ月に1~3回で与えます。出来るだけ乾かし
気味にした方が寒さに強くなるので、出来るだけ水遣りは控えます。

暖房がガンガン効いた部屋ではサボテンの本体が乾燥するので、場合に
よっては干からびてしまいます。暖房器具の放射熱が直に当たらないよ
うにし、湿度不足の時は霧吹きでサボテンの表面に水を噴霧し、乾燥か
ら守る工夫が必要です。冬場でも掃除で窓を開ける事があるはずですが
窓を開けても冷気に長時間も当てないようにします。サボテンでも風邪
を引く事を覚えて下さい。

画像を見ると鉢の大きさが大き過ぎます。画像のような深鉢が好ましい
のですが、大きな鉢に小さなサボテンが置いてあるような感じを受けま
す。実際にはサボテンと鉢の間が、人挿し指が1本入る程度が適してい
ます。現在の鉢では生育のためには好ましいとは言えません。

日向と日陰ですが、基本的には日向です。植替え直後や状態が悪い時は
明るい日陰に置くのが好ましいですが、基本的には年間を通して日向に
置くようにします。また日向であれば良いと言う事はなく、風通しが悪
いと病害虫の発生が多くなったり、土が乾きにくくなるため腐敗しやす
くなります。年間を通して風通しを良くする事は必ず必要です。

サボテンと多肉植物に関しては栽培経験が長いので、ある程度の事なら
回答が出来ます。他に質問があれば締め切らずに補足質問をして貰えれ
ば、分かる範囲で答えようと思います。

誠に残念ですが、画像を見る限り九分九厘枯れています。
一分の望みはあるかも知れませんが、このような状態になってからでは
助けようがありません。元の緑色に戻すのは不可能です。
今後に新たに購入されるかも知れませんので、亀甲牡丹ヒントニーが何
であるかと言うより、サボテンがどんな植物であるのかを説明したいと
思います。これを読めばサボテンと言う植物が分かり、販売店の方が言
われた事が間違いだった事が分かります。

サボテンと言う植物は暑さや乾燥に非常に強く、多湿や寒さには非常に
弱い植...続きを読む

Q&= ~0x0c; &= ~0x03; |=1;

JavaScriptで分からないコードがあるので教えてください。


■変数設定
var hoge = 0;


■変数格納
・キーを押した時の条件分岐
  ~なら hoge |= 1;
  または hoge |= 2;
  または hoge |= 3;
  または hoge |= 8;

・キーを離した時の条件分岐
  ~なら hoge &= ~0x0c;
  または hoge &= ~0x03;


■変数使用
・swithch文の条件分岐に利用
  (hoge&0x03)
  (hoge&0x0c)


■質問
・どういう意味でしょうか?
・文字コード?
・ビット演算?

Aベストアンサー

ビット演算してるわね

x = x + a

x += a
って書くことができるの

つまり
hoge |= 1

hoge = hoge | 1
のことね

~はNOTのこと

0x
はアスキーコードの16進数表記ねきっと

0x0c は改ページを意味していて
0x03 は文章の最後を意味している
と思われるわ
全文がないので推測だけど

Q多肉植物の育て方

最近、多肉植物に興味を持って、いくつか苗を購入しました。
虹の玉、レズリー、月兎耳、白牡丹、熊童子を買ったのですが、育て方でよくわからないことがあるので教えてください。

まず、置き場所なんですが、本当は室内に置きたいんですが、日光がたくさん必要だと書いてあったので、朝から夕方までは南側の庭に出して、夕方になったら部屋に戻したいと思っているのですが、毎日植物を動かすのはよくないでしょうか?小さな鉢に入れているので、出し入れは問題ないのですが、植物は今いる場所に適応しようとするから、あまり動かすのはよくないと聞いて困っています。

外で育てるのが一番だとは思いますが、どうしても部屋に飾りたいので、日が沈んだ後だけでも室内に置きたいのですが、そういう育て方をしている方はいらっしゃるでしょうか?

あと、植え込み後のお水は、植え込み後すぐにあげたほうがいいのでしょうか?調べてみたところ、少しあげたほうがいいという意見と、植え込み時は乾いた状態で、1週間後くらいにあげたほうがいいという意見があり、どっちにすればいいのかわかりません。今日植え込みをして、念のためまだお水はあげてない乾いた状態にしています。多肉植物は初めてなので、いろいろ戸惑っていますが、長くきれいに育てたいので、詳しい方、育てているかたのアドバイスをお願いします。


長文、読んでいただいてありがとうございました。

最近、多肉植物に興味を持って、いくつか苗を購入しました。
虹の玉、レズリー、月兎耳、白牡丹、熊童子を買ったのですが、育て方でよくわからないことがあるので教えてください。

まず、置き場所なんですが、本当は室内に置きたいんですが、日光がたくさん必要だと書いてあったので、朝から夕方までは南側の庭に出して、夕方になったら部屋に戻したいと思っているのですが、毎日植物を動かすのはよくないでしょうか?小さな鉢に入れているので、出し入れは問題ないのですが、植物は今いる場所に適応しようとする...続きを読む

Aベストアンサー

日暮れ後、室内に取り込むのは悪くないですよ。
多肉植物は結露すると葉が腐ってくるので、寒い時期は室内に取り込む方が無難ですし。

ちなみに私はカフェカーテンをつけた出窓(室内側)に置いています。カーテンの下側から直射日光を浴びて元気に育ってます。結露する頃には夕方少し室内側に移動させるだけなので楽させてもらってます。

あと購入は苗の形なんですよね。苗の形になっているものは土が乾いていれば水あげて大丈夫です。
挿し芽をして増やす時はすぐ水をあげると腐ってしまう場合があるので、しばらく水をあげない方が良いですよ。

多肉植物は多少育てるのに失敗しても挿し芽で何回も復活してくれるし、姿が乱れたら仕立て直しも簡単なので安心して育てて下さい。ずぼらな私でも何年も育てられているので大丈夫です。

Qvar $i = hoge; $の意味について

初心者の質問ですみませんが教えて下さい。
jqueryのソースで以下のソースがあったのですが、
var i = ではなくvar $i にしないといけない理由ってありますか?

var $i = $( '#img' ); // 対象の img タグを選択
var img = new Image();
img.src = $i.attr('src');

Aベストアンサー

こんにちは。

$iにしなくてはいけない理由はないと思います。

多分$('#img')でjQueryのオブジェクトを取得してるので$をつけているんだと思います。
(私もjQueryで取得した要素については$を付けるようにしています)
ようするにわかりやすいようにです。

Qサイネリアの育て方

こんにちは。サイネリアを育てるのですが、サイネリアの育て方がわかりません。育て方や育てるコツを教えてくださいお願いします。

Aベストアンサー

サイネリア(シネラリア)の育て方については下記サイトに詳しく載っていますのでご覧下さい。

参考URL:http://www42.tok2.com/home/kengei/shi_00011g.htm

Qvar aaa=bbb?cccl:ddd; の意味を教えて下さい。

タイトルそのままです。
function内にある
var aaa=bbb?cccl:ddd;
の意味を教えて下さいませ。

Aベストアンサー

がると申します。
これは、三項演算子と呼ばれるものになります。
基本的には
式 ? trueの値 : falseの値
という形を取ります。
上述ですと、
もしbbbが判定式としてtrueを取るのならaaaにccclを、falseになるのならdddを代入する
という感じになるかと思います。

Qトリカブトの育て方

山登りに行った時に、トリカブトを見ました。
とても美しく綺麗だったので、育ててみたくなり
トリカブトの種子を購入しました。

購入したのはいいのですが、肝心な育て方がわかりません。
ネットで検索したり、お花に詳しいお友達に聞いたりしても
種子からの育て方がわからないのです。

トリカブト自体を育てるのは始めてなので
詳しい育て方が知りたいと思っています。

トリカブトの育て方に詳しい方がおりましたら
よろしくご回答お願い致します。

Aベストアンサー

育てたことはありませんが手元にある「山野草の育て方&楽しみ方事典」によれば、
・種まきは2月から3月初旬、半日陰で
・用土は赤玉土4に軽石4、腐葉土2を混ぜる
・鉢は中鉢の4-6号
・水やりは芽出しの頃は多めに
・水を好むので夏は腰水で育てる
・置き場所は芽出しから休眠までは木漏れ陽が当たる半日陰
・増殖は活発で3月中旬から4月中旬に塊根を分けて殖やす
・肥料は3月中旬から4月中旬に有機性の固形肥料を与える
・根は猛毒なので手袋をはめ、作業後すぐに手を洗う
・1-2年ごとに植え替える
・露地栽培するなら半日陰で、身近への植栽は避ける
・12月下旬から2月までは休眠する
・休眠期にも土が乾いていたら水は忘れずに与える

育て方はやさしいそうです。

Qfor(var i=0;...) の i の値を保持するには?

-----
<ul>
<li>test1</li>
<li>test2</li>
<li>test3</li>
</ul>

<script type='text/javascript'>
(function(){
var li = document.getElementsByTagName('li');

for(var i=0,max=li.length; i<max; i++){
li[i].onclick = function(){
alert(i);
};
}
})();
</script>
-----

上記スクリプトを実行すると、全てのli要素でクリックしたときに "3" がalertされます。
0,1,2 をそれぞれalertしたいのですが、どういった方法が考えられるでしょうか?

現在作成しているスクリプトでは、下記のようにidに値を保持しています。
もう少しスマートな方法がある気がするのですが…。

---
li[i].id = 'test' + i;
li[i].onclick = function(){
alert(this.id.replace(/^test(\d+)/, '$1'));
};
---

-----
<ul>
<li>test1</li>
<li>test2</li>
<li>test3</li>
</ul>

<script type='text/javascript'>
(function(){
var li = document.getElementsByTagName('li');

for(var i=0,max=li.length; i<max; i++){
li[i].onclick = function(){
alert(i);
};
}
})();
</script>
-----

上記スクリプトを実行すると、全てのli要素でクリックしたときに "3" がalertされます。
0,1,2 をそれぞれalertしたいのですが、どういった方法が考えられるでしょうか?

現在作成しているスクリプトでは、...続きを読む

Aベストアンサー

http://nanto.asablo.jp/blog/2005/12/04/165848
メモリーリークにみえて、そうでない・・・

>HTMLObjectに勝手にプロパティ
これはよくないことだじょ!そうおそわった。

ついでにいうと、いべんとをなんこもていぎするより
No3.みたいにおおもとにひとつでじゅうぶん。
innerHTMLで、ぜんたいをかきかえたとしてもOK!
と、TAGindex
http://www.tagindex.com/cgi-lib/q4bbs/patio.cgi
でおそわったじょ!

Qプレゼントで頂いた観葉植物が枯れてしまいそうです。頂いたものなので名前と育て方が分からず葉が落ち始め

プレゼントで頂いた観葉植物が枯れてしまいそうです。頂いたものなので名前と育て方が分からず葉が落ち始めています。この植物の育て方と名前をご存知の方、助言ください。

Aベストアンサー

サンスベリアの仲間だと思います。結論から言うと枯れる心配はないと思います。

枯れ落ちた葉は葉っぱの新陳代謝で落ちただけで、言うならば葉の寿命を全うしただけです。観葉植物は大きく成長するために古い葉を落として新しい葉を生やします。最近暖かくなってきたので、新しい葉を生やすために古い葉を落とし始めたのだと思いますよ。
写真に写ってる他の葉は元気に見えますので、木の本体はまだまだ元気だと思われます。

育て方ですが、原産地が乾燥地帯なので乾燥に強い種です。寒い時期は水を全くやらなくても良いくらいです。これからの時期は、土の表面が乾いたらたっぷりと水をやり、土が乾くまでは何日も放置でOKです。枯らしてしまう最も多いパターンは水のやり過ぎによる根腐れですので、毎日水をやる必要は全然ありません。窓際に置かれてるようですので日当たりは十分だと思います。

サンスベリアの育て方:
http://sodatekata.net/flowers/page/150.html

QJavaScriptにて『var val2 = "dv" + i;』のdvとは?、超初心者です。

<script type="text/javascript">
<!--
var timerID = "";

function mn(n){
if(timerID != ""){
clearTimeout(timerID);
}
var val = n;
dlt2();
document.getElementById(val).style.visibility="visible";
document.getElementById(val).style.zIndex="1";
}

function dlt(){
timerID=setTimeout("dlt2()",100);
}

function dlt2(){
for (i=1;i<3;i++){
var val2 = "dv" + i;
document.getElementById(val2).style.visibility="hidden";
document.getElementById(val2).style.zIndex="0";
}
}
//-->
</script>
<style type="text/css">
<!--
a{text-decoration:none;color:gray;}
a:hover{color:#000000;}
body{color:#000000;font-size:12pt;
line-height:150%;font-family:"MS Pゴシック";}
table{color:#ffffff;font-size:12pt;
line-height:150%;font-family:"MS Pゴシック";}

#dv1{
/* ↓ここの position の値がプルダウンメニュー1の表示位置です */
position:absolute;left:12;top:42;
background-color:#ffffff;visibility:hidden;
border: 1px solid gray;
}
-->
</style>
</head>


<body>

(文字数制限により省略させていただきます)

</body>
</html>
----------
参考URL:
http://ryos.info/hp_sakusei/pulldown.htm

JavaScriptでプルダウンメニューを作ろうとして、ネットで勉強していますが早速つまずいています。
調べてみましたが、結局解りませんでした。

上記のfunction dlt2()の部分で、『var val2 = "dv" + i;』とあります。
この"dv" とは何を表しているのでしょうか?

初歩的な質問で申し訳ございません。

教えていただけましたら幸いです。

<script type="text/javascript">
<!--
var timerID = "";

function mn(n){
if(timerID != ""){
clearTimeout(timerID);
}
var val = n;
dlt2();
document.getElementById(val).style.visibility="visible";
document.getElementById(val).style.zIndex="1";
}

function dlt(){
timerID=setTimeout("dlt2()",100);
}

function dlt2(){
for (i=1;i<3;i++){
var val2 = "dv" + i;
document.getElementById(val2).style.visibility="hidden";
document.getElementById(val2).style.zIndex="...続きを読む

Aベストアンサー

「dv」単体には意味が無く、そのfor文内で
「val2 = "dv1"」「val2 = "dv2"」になりますよね。

HTMLの中に「dv1」「dv2」と名前の付けられているdivがありますから、そのオブジェクトを指しているようです。


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング