0

テーブルを動的に作成してローカル変数に割り当てる方法があります。

 var content = $('<table id="gvCapitalByYear" cellspacing="0"
       cellpadding="2"/>').append('<tbody/>');

次に、上記で作成したテーブルに行を追加するためのループがあります。しかし、私はどうにもこれを成し遂げることができません。私は次のことを試しました:

content=$('#gvCapitalByYear').find('tbody').append('<tr/>');

しかし、私の意見では、ID「gvCapitalByYear」を持つ要素はどこにも追加されておらず、その場で作成され、変数に保持されているため、機能しません。content 変数を使用して動的に作成されたテーブルを取得し、一定量の行を追加して、再度 content 変数に再割り当てすることは可能ですか?

4

2 に答える 2

1

contentこれらの要素 (例: ) について DOM をクエリする代わりに、変数を使用する必要があります。$('#gvCapitalByYear')これは、コンテンツがまだ DOM に関連付けられていないためです。

テーブル HTML を jQuery オブジェクトとしてラップすると、他の jQuery オブジェクトと同じようにクエリを実行して操作できます。contentオブジェクトは「ライブ」であるため、コンテンツを追加した後に変数を再割り当てする必要はありません。

var content = $('<table id="gvCapitalByYear" cellspacing="0" cellpadding="2"><tbody></tbody></table>');
//later, add as many rows as you like
content.find('tbody').append('<tr><td>Some Content Here</td></tr>');

また、tableおよびtbody要素trは自己終了タグではありません。これを有効な HTML にするには、それぞれに開始タグと終了タグが必要です。

ワーキングデモ

于 2013-08-16T12:03:56.047 に答える
0

これを試して

$('body').append('<table id="gvCapitalByYear" cellspacing="0"
   cellpadding="2"></table>');

それから

$('#gvCapitalByYear').append('<tr><td>my data</td><td>more data</td></tr>');
于 2013-08-16T12:07:08.340 に答える