人们在这里,因为我有这个代码实际上不起作用,它低音复制一行并为新条目创建一个新行。正在考虑clone()
和appendTo()
。
但是如果你移除html的最后一部分它会起作用,好像有一个新的标签它会变成语法,请问有人可以帮助我解决这个问题吗?
<table>
<tr>
<td>Hello world!</td>
</tr>
</table>
谢谢!
答案 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('');
});
});
答案 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;
}