3

とてもシンプルなテーブルがあります

<table>
<tr><td>1</td></tr>
<tr><td>2</td></tr>
<tr><td>3</td></tr>
</table>

td jqueryのテキスト5で上記のテーブルに別の行を追加すると、each()は新しく追加された行をループせず、動的に追加された要素ではなく、事前定義された要素のみを返します

$("table > tbody").append("<td>5</td>");
$("table tr td").each(function(){
  alert($(this).text());
});

JSFIDDLELINKはこちらをご覧ください

4

3 に答える 3

7

で直接追加tbodyすることはできません。tdtr

ライブデモ

$("table > tbody").append("<tr><td>5</td></tr>");
$("table tr td").each(function(){
  alert($(this).text());
});
于 2013-03-21T06:07:15.997 に答える
5

あなたの推論は正しくありません。要素が見つからない理由は、セレクターが追加する要素のネストと一致しないためです。

td要素を要素にラップしtrます。

于 2013-03-21T06:07:24.843 に答える
1

これを行う必要があります:

$("table > tbody").append("<tr><td>5</td></tr>");
$("table tr td").each(function(){
  alert($(this).text());
});

理由は単純です。元のコードは<tbody><td>5</td></tbody>、各関数で探していたtrタグがない場合と同じように新しい行を生成します。

于 2013-03-21T06:11:33.320 に答える