2011-02-04 21 views
1

私のasp.net mvcアプリケーションでjavascriptを使用して動的divを作成しました。これは、forループで作成され、私は指標値として、各idを保つ:今すぐjavascriptまたはjqueryで動的に作成されたdivにhtml要素を追加します。

for (j = 1; j <= count; j++) { 
    $("<div id=" + j + "> Step " + j + "</div>"). 
     hide().appendTo("#parentDiv").fadeIn(); 
} 

、私は、forループと同じ内、これらのdiv要素に新しい要素を追加したいです。しかし、私はそれを添付するつもりです、私は現在のインデックス付きdivを取得していないので、私はそれを追加することができます。要するに、同じループ内で動的に作成されたdiv要素のforループでhtml要素を動的にレンダリングする必要があります。これをどのように達成するのですか? 編集: 実際のシナリオはこちらをご覧ください。達成する方法?

for (j = 1; j <= count; j++) { 
    $("<div id=" + j + "> Step " + j + "</div>").hide().appendTo("#parentDiv").fadeIn(); 
        for (i = 1; i <= count; i++) { 
          $("<div id=" + i + "> Data of column " + i + "</div>"). 
         hide().appendTo("#"+j).fadeIn(); 
         } 

} 
+2

だけFYI:数字で始まるIDは有効なHTMLではありません。 –

+0

@Andy E HTML5 – Sotiris

+0

は私の更新されたコードを確認するためだけに、これはXHTML 1.0まで動作しますが、それが有効だと追加する –

答えて

2
<script src="jquery.js"></script> 
<style> 
#hello{ 
    height: 100px; 
    width: 500px; 
    background: blue; 
} 

.small{ 
    margin-top: 10px; 
    height: 60px; 
    width: 500px; 
    background: red; 
} 

.smallest{ 

    margin-top: 10px; 
    height: 10px; 
    width: 500px; 
    background: green; 

} 
</style> 
<script> 
$(function(){ 
for (j = 1; j <= 5; j++) { 

    var div = $("<div></div>").attr({"id": "div"+j , 'class': 'small'}).appendTo($('#hello')); 
    //create some variable and add to var div 
    $('<div></div>').attr({"class": 'smallest'}).appendTo(div); 
    $('<div></div>').attr({"class": 'smallest'}).appendTo(div); 
    $('<div></div>').attr({"class": 'smallest'}).appendTo(div); 
    } 




}); 
</script> 
<div id="hello"></div> 
+0

なしこれは私 –

+0

のために働いていない@Lalitこれは –

+0

感謝をWORKDする必要があり、それは私のために役に立つを見つけるされていません –

0

これは機能します。

var count = 10 
for (j = 1; j <= count; j++) { 
    $("<div id=a" + j + "> Step " + j + "</div>").hide().appendTo("#parentDiv").fadeIn(); 
    $('#a' + j).html("test" + j); 
} 
+1

が追加さ「」アンディので、Eは、数字で始まるIDが有効ではありませんと述べました。しかし確かに確信していない。しかし、私はとにかくそれを追加しました – michaelalm

+0

何がここにあります$( '#a' + j).html( "test" + j); –

2

まず、あなたのIDに数字だけを割り当てるべきではありません、有効なIDは、英字で始まります。 これらの新しいオブジェクトは、スクリプトの後半でそれぞれのIDを使用して参照できます。あなたの質問の残りの部分は不可解です...

は、これらにイベントを添付しようとしている場合、あなたはライブ()メソッドを使用する必要がありますように注意してください。従来のbind()やそのショートカットのclick()やhover()などは、動的に追加された要素に対しては機能しません。あなたはこれを見てとることをお勧めします

HTH

+0

私はアルファベットを割り当てようとしましたが、それはそれで –

関連する問題