jQuery之前不能使用html克隆()和appendTo()

时间:2016-07-23 16:16:43

标签: javascript jquery html append jquery-clone

人们在这里,因为我有这个代码实际上不起作用,它低音复制一行并为新条目创建一个新行。正在考虑clone()appendTo()

JSFIDDLE

但是如果你移除html的最后一部分它会起作用,好像有一个新的标签它会变成语法,请问有人可以帮助我解决这个问题吗?

<table>
    <tr>
        <td>Hello world!</td>
   </tr>
</table>

谢谢!

3 个答案:

答案 0 :(得分:1)

你的小提琴中几乎没有问题

1:选择要克隆的行元素是错误的。

2:父元素应该是表格,但错误地选择了它。

您可以使用以下修改后的代码进行克隆并附加行。

 $("#clone").click(function() {
    i++;
    $("#remove").removeAttr("disabled");
    var parent = $("#data");
    var tr = $("#data tr:last");
    console.log(tr);
    var e = tr.clone().appendTo(parent);
    $(e).find("[type=text],[type=hidden]").each(function() {
      $(this).val('');
    });
  });

更新了小提琴:https://jsfiddle.net/363m6dsy/6/

答案 1 :(得分:0)

更改选择器并使用.after()追加

var tr = $("#parent:last");

    var e = $("#parent").clone();
    $(tr).after(e);

全JS

$(document).ready(function() {
  var i = 1;
  $("#clone").click(function() {
    i++;
    $("#remove").removeAttr("disabled");
    var tr = $("#parent:last");

    var e = $("#parent").clone();
    $(tr).after(e);
    console.log(e);
    $(e).find("[type=text],[type=hidden]").each(function() {
      $(this).val('');
    });
  });
  $("#remove").click(function() {
    var tr = $("#parent:last-child");
    if (i > 1) {
      i--;
      tr.remove();
    }
    if (i == 1) {
      $("#remove").attr("disabled", "true");
    }
  });
});

<强> JSFIDDLE

答案 2 :(得分:0)

<强> Working fiddle

只需克隆行CFURLRef url = (CFURLRef)CFAutorelease((CFURLRef)CFBundleCopyBundleURL(CFBundleGetMainBundle())); QString path = QUrl::fromCFURL(url).path(); ,然后将其附加到$("#parent").clone(),如:

$('#data').append(e);

希望这有帮助。

$("#clone").click(function() {
    i++;
    $("#remove").removeAttr("disabled");

    var e = $("#parent").clone();

    $(e).find("[type=text],[type=hidden]").each(function() {
      $(this).val('');
    });

    $('#data').append(e);
});
$(document).ready(function() {
  var i = 1;
  $("#clone").click(function() {
    i++;
    $("#remove").removeAttr("disabled");

    var e = $("#parent").clone();

    $(e).find("[type=text],[type=hidden]").each(function() {
      $(this).val('');
    });

    $('#data').append(e);
  });
  $("#remove").click(function() {
    var tr = $("#parent:last-child");
    if (i > 1) {
      i--;
      tr.remove();
    }
    if (i == 1) {
      $("#remove").attr("disabled", "true");
    }
  });
});
body {
  width: 700px;
}

table {
  width: 100%;
}

input[type="text"] {
  width: 130px;
}