重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

window.onload = function() {
document.getElementById('st');
}
処理結果の表示として、<body><p id="st"></p></body>

これを10回ほど表示させたいのですが方法がわかりません。

document.getElementById('st1');
document.getElementById('st2');


<p id="st1"></p>
<p id="st2"></p>
    :

これでやればid毎に表示はさせる事で表示できましたが、
これを省略しての処理方法や他の追加記述等ありましたらご教授頂けたらと思います。

よろしくお願いいたします。

A 回答 (2件)

出力するのではなくて、各要素を取得したいものだとすると。


getElementById()の引数は文字列ですので、'st' + 連番とすればいいのではないでしょうか。

window.onload = function() {
 for (var i = 1; i < 10; i++) {
  var key = 'st' + i;
  alert(document.getElementById(key)['id']);
 }
}

的外れでしたらすみません。。
    • good
    • 0
この回答へのお礼

遅くなりました。

ご返答ありがとうございます。

言葉不足で申し訳ございません、今回の目的としては、ブラウザ上で10個を表示させることを考えていました。

ご教授頂きました記述を試し、各stに割り振りが出来ましたが、
全て表示させるには各p要素に割り振りをすることで全て表示することが出来ました。

度々で申し訳ございません、p要素についてですが、これを1ずつ割り振りするほかに10個同時に処理する方法はありますでしょうか。

お礼日時:2011/02/04 22:57

こんにちは。



質問を読み違えてたら申し訳ございません。
以下のようにすれば<span id="dispText"></span>に<p id="st0">~<p id="st9">までが追加されます。


// インデントは全角スペースになっています
// 途中のタグは省いてます
window.onload = function() {
 var parElm = document.getElementById ( 'dispText' );
 for ( var i = 0; i < 10; i ++ ) {
  var elm = document.createElement ( 'p' );
  elm.id = "st" + i;
  elm.innerHTML = "id = " + elm.id;
  parElm.appendChild ( elm );
 }
}

<span id="dispText"></span>


何をどうしてどのように表示したいか明確になれば他の案が出せると思います。
    • good
    • 0
この回答へのお礼

遅くなりました。

ご返答ありがとうございます。

目的としては、複数の文字をランダムに選び、特定の個数をstに連結し表示させるものを作成しております。

その表示させるものをブラウザ上にstでの処理結果を10個表示出来ればと考えていました。

言葉不足で申し訳ございませんでした。

whileで一気に10個表示させることは可能でしょうか。

お礼日時:2011/02/04 22:51

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