克隆div并替换子元素

时间:2013-10-15 07:41:16

标签: javascript jquery html css

我有一个包含以下内容的div:

<div class="payment-form napthe">
    <table>
        <tbody>
            <tr>
                <td><label>Mã thẻ</label></td>
                <td><label>Serial</label></td>
            </tr>
            <tr>
                <td><input type="text" class="prepaidcard_code"></td>
                <td><input type="text" class="prepaidcard_serial"></td>
            </tr>
            <tr>
                <td colspan="2"><span class="result">Sai định dạng query</span></td>
            </tr>
       </tbody>
   </table>                         
</div>

我想使用jQuery克隆这个div,但是让最后一个元素<tr><td>...</td></tr>的文本为空。

我希望克隆后的结果如下:

<div class="payment-form napthe">
    <table>
        <tbody>
            <tr>
                <td><label>Mã thẻ</label></td>
                <td><label>Serial</label></td>
            </tr>
            <tr>
                <td><input type="text" class="prepaidcard_code"></td>
                <td><input type="text" class="prepaidcard_serial"></td>
            </tr>
            <tr>
                <td colspan="2"><span class="result"></span></td>
            </tr>
       </tbody>
   </table>                         
</div>

3 个答案:

答案 0 :(得分:3)

尝试

var cloned = $('.payment-form.napthe').clone();
cloned.find('.result').empty(); // or .find('tr:last td span').text(''); 

参考

http://api.jquery.com/?s=%3Alast

http://api.jquery.com/text/

http://api.jquery.com/empty/

答案 1 :(得分:3)

你应该发布你已经尝试过的东西......

无论如何,这应该有效

var $clone = $('.payment-form.napthe').clone();
$('.result', $clone).empty();

答案 2 :(得分:1)

尝试:

var clone = $(".payment-form.napthe").html();

$("#output-div").html(clone); // output the cloned HTML somewhere
$("#output-div tr:last-child span").html(""); // empty contents of span of last <tr>

如果你需要做多个克隆,你也可以这样做:

$("#output-div").append(clone);

#output-div只是我用来代表你想要放置克隆的空间的东西。它可能类似于body