• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:自働生成される<div>タグに連番を振りたい)

自動生成される<div>タグに連番を振りたい

このQ&Aのポイント
  • divタグに連番を付ける方法を知りたいです。
  • onloadイベントを使用せずにdivタグに連番を付ける方法を教えてください。
  • 自動生成されるdivタグに連番を追加したいですが、onloadを使用せずに実現する方法がわかりません。

質問者が選んだベストアンサー

  • ベストアンサー
  • mtaka2
  • ベストアンサー率73% (867/1179)
回答No.2

JavaScriptライブラリの jQuery を使ってもいいなら、以下の一行でidの付加が実現できます。 $("div.hoge").each(function(index, elem) { $(elem).attr("id", "hoge"+(index+1));}); このままだと、div ができあがってから、このスクリプトを実行する必要がありますが、 $(document).ready(function(){ $("div.hoge").each(function(index, elem) { $(elem).attr("id", "hoge"+(index+1)); }); }); とすれば、この記述をどこで行っても 「ファイル読み込み完了後、onload が実行される前」のタイミングで上述のid付加処理が実行されるようにできます。 jQueryについては以下のページが入門として参考になるでしょうか。 http://allabout.co.jp/internet/javascript/closeup/CU20071020A/

uni0214
質問者

お礼

回答ありがとうございます! ライブラリを使った方法は自分も考えていたので大変参考になりました。 ありがとうございました!!

その他の回答 (2)

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.3

onloadはソースをhtmlに埋め込まないための手段なので 逆に考えればbodyタグの最後にソースを埋め込んでしまえばよいでしょう。 <html> <body> <div class="hoge">あああ</div> <div>あああ</div> <div class="hoge">あああ</div> <div class="hoge">あああ</div> <div>あああ</div> <div class="hoge">あああ</div> <script> var tags=document.getElementsByTagName("div"); var count=0; for (var i=0;i<tags.length;i++){ if(tags[i].className=="hoge") tags[i].id="hoge"+(++count).toString(); } </script> </body> </html>

uni0214
質問者

お礼

回答ありがとうございます!! > onloadはソースをhtmlに埋め込まないための手段 自分はJavaScriptに関してあまり明るくないので参考になりました。 ありがとうございました!!

  • kura07
  • ベストアンサー率50% (30/59)
回答No.1

onloadを使わないのなら、document.write()でするのがベストだと思います。 この関数は、引数で指定した文字列をタグとみなして出力します。 挿入したい部分にjavascriptを直接書くか、外部ファイル化で入れてください。 <外部ファイルで挿入> ~~~~~html側~~~~~ <body> ... <script type="text/javascript" src="hoge.js"></script> ... </body> ~~~~~hoge.js側~~~~~ for(var i=1;i<=4;i++){ document.write('<div class="hoge" id="hoge'+i+'">あああ</div>'); } <直接挿入> ~~~~~html側~~~~~ <body> ... <script type="text/javascript""> for(var i=1;i<=4;i++){ document.write('<div class="hoge" id="hoge'+i+'">あああ</div>'); } </script> ... </body>

uni0214
質問者

お礼

回答ありがとうございました!! document.writeの発想はありませんでした。。。 <div class=hoge">を検索してidを振ると言う事ばかり考えてました。 脳ミソ固まってましたw ありがとうございました!!

関連するQ&A