0

<tr>複製している要素の最初の TD を変更したいと思います。

最後の.deals_optionstr 要素の後にクローンを作成して挿入しています

            var $orig = $('.deals_options:first');
            for (var i = 0; i < Math.abs(amount - selectCount); i++) {
                $orig.clone().insertAfter('.deals_options:last');
            }

正常に動作しますが、今この tr 要素.deals_options内に、最初の 内に html を追加したいと思い<td>ます。

挿入しているクローン要素の最初の td にテキストを挿入するにはどうすればよいですか?

4

2 に答える 2

1

複製された要素の最初の td を見つけて、テキストを追加します。

var $orig = $('.deals_options:first');
for (var i = 0; i < Math.abs(amount - selectCount); i++) {
     var clone = $orig.clone();
     clone.find('td:first').text("New Text");
     clone.insertAfter('.deals_options:last');
}

http://jsfiddle.net/Kgrhv/

于 2012-12-14T15:51:38.603 に答える
1

いくつかのオプションがあります。あなたが本当にワンライナーに興味があるなら(ここでは明確にするために複数の行に分割されています):

$orig.clone()
     .insertAfter('.deals_options:last')
     .find('td')
     .first()
     .html("new content");

実例| ソース

または、本当に新しいコンテンツをテーブルに追加する前に設定したい場合:

$orig.clone()
     .find('td:first')
     .html("new content")
     .end()
     .insertAfter('.deals_options:last');

実例| ソース

endjQuery の比較的知られていない機能の 1 つです。

私はワンライナーにはそれほど興味がないので、私にとっては:

var clone;

// ...then in the loop...
clone = $orig.clone();
clone.find('td').first().html("new content");
clone.insertAfter('.deals_options:last');

実例| ソース

于 2012-12-14T15:52:17.047 に答える