Jquery克隆孩子

时间:2012-04-06 05:44:18

标签: php jquery

我正在为我的项目使用jQuery clone和children概念。我正在使用div中的一个表(类是clonedInput),通过单击一个按钮我正在克隆整个div并将其插入div之后。在这段时间: “

var num     = $('.clonedInput').length;
var newNum  = new Number(num + 1);
var newElem = $('#input' + num).clone().attr('id', 'input' + newNum);
 $('#input' + num).after(newElem);

” 通过使用这个我增加div id。同时我想增加表tr和td的id。为此,我尝试了children.attr()。但这并没有增加表格ID。谁能为我澄清这个?

提前致谢。

2 个答案:

答案 0 :(得分:2)

我有一个函数可以使用递增的ID在一行中创建输入。这不是你想要的东西,但我相信它会给你一个相当好的想法,如何完成任务。

var numbers =0
$(function() {
var newRowNum = 0;

    $('#addnew').click(function() {
        newRowNum++;
        /////////////  <a>    <td>    <tr>
        var addRow = $(this).parent().parent();
        ///////////// In the line below <tr> is created
        var newRow = addRow.clone();
        $('input', addRow).val('');
        $('td:first-child', newRow).html();
        $('td:last-child', newRow).html('<a href="" class="remove">Remove<\/a>');
        $('input', newRow).each(function(i) {
            var newID = newRowNum + '_' + i;
            $(this).attr('id', newID).attr('name', newID);
        });
        addRow.before(newRow);

        $('a.remove', newRow).click(function() {
            $(this).parent().parent().remove();
            return false;
        });

        return false;
    });
    numbers = newRowNum;
});

答案 1 :(得分:2)

目前尚不清楚你想做什么,但我的猜测是你可以尝试:



    var num     = $('.clonedInput').length;
    var newNum  = new Number(num + 1);
    var newElem = $('#input' + num).clone();

    newElem.attr('id', 'input' + newNum);
    $('#input' + num).after(newElem);

整个

$('#input' + num).clone().attr('id', 'input' + newNum);

部分可能没有给你克隆对象,而是布尔结果或一些整数。

如果问题没有解决,您也可以尝试添加()函数。