在jQuery中克隆元素后更改td

时间:2012-12-14 15:49:59

标签: jquery

我想更改我正在克隆的<tr>元素中的第一个TD。

我在最后一个.deals_options tr元素

之后克隆并插入
            var $orig = $('.deals_options:first');
            for (var i = 0; i < Math.abs(amount - selectCount); i++) {
                $orig.clone().insertAfter('.deals_options:last');
            }

工作正常,但现在在这个tr元素.deals_options中,我想在第一个<td>内添加html。

如何在插入的克隆元素中的第一个td中插入文本?

2 个答案:

答案 0 :(得分: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/

答案 1 :(得分:1)

你有几个选择。如果你真的喜欢单行(为清晰起见,这里打破多行):

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

Live Example | Source

或者如果你真的,真的想在添加到表格之前设置新内容:

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

Live Example | Source

end是jQuery相对模糊的功能之一。

我自己不是那种单行,所以对我来说:

var clone;

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

Live Example | Source