5

次のように、コードに空のテーブルがあります。

<table id='rostertable'></table>

<tr>jQuery の関数を使用して追加するappendと、クロム インスペクターによると、テーブルは次のようになります。

<table id='rostertable'><tbody><tr>...</tr></tbody></table>

tbody 自体が追加されたようで、後で DOM をトラバースするときに問題が発生します。

一貫性を保つために、自分で tbody を追加して直接追加したほうがよいと考えました。これは可能ですか?プレースホルダーを作成しようとしまし<table id='rostertable'><tbody></tbody></table>たが、jQuery セレクター$('#rostertable tbody')が null を返し、クロム インスペクターにも tbody タグが表示されません。

編集:気にしないでください、それは私のjavascriptの無関係なバグになってしまいました。ある時点で、私はテーブルの内容を消去して $("#rostertable").html("") を実行していましたが、これによりもちろん tbody が削除されました。この質問に対する最初の有効な回答を受け入れました。

4

2 に答える 2

4

notを取得する必要があります。nullセレクターに一致する要素がない場合でも、object含まれzeroている要素が取得されます。

セレクターが tbody を返していますが、間違ったメソッドを使用している可能性があります。

ライブデモ

alert($('#rostertable tbody').html());​
于 2012-12-22T03:55:18.487 に答える
2

コードに追加するにはtbdoy、有効な html を追加する限り機能するはずです。

以下は正常に動作します:

$('#rostertable tbody').append('<tr><td>new row - cell 1</td><td>new row - cell 2</td></tr>');

デモ

<td>だけでなくa も必ず追加する必要があります<tr>。たとえば、Chrome では、次のように単純に空を追加します。<tr>

$('#rostertable tbody').append('<tr>no cells added, just row</tr>');​
于 2012-12-22T04:04:15.787 に答える