1

我正在为我的项目使用 jQuery 克隆和子概念。我在 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。同时我想增加 table tr 和 td 的 id。为此我尝试了children.attr()。但这并没有增加 table id。有人可以为我澄清一下吗?

提前致谢。

4

2 回答 2

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);

部分可能不会给你克隆对象,而是布尔结果或某个整数。

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

于 2012-04-06T06:36:25.213 回答
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;
});
于 2012-04-06T06:23:48.590 回答