单击一行中的“复制”链接,我需要创建另一行并将其所有内容复制到新行。这是我的代码:
addNewInlineRow(sid, idToUse); // this creates a new row with empty values
//this copies the value from old row to new row
$("#"+rowId+ " td").each(function(index){
$("#"+idToUse+ " td").get(index).text($(this).text());
});
但是这段代码不起作用。有什么建议?由于用于创建TR id !!的现有复杂逻辑,我无法克隆整个TR。
答案 0 :(得分:1)
您可以使用clone
方法获取tr
的克隆并将其附加到表格tbody。
试试这个
function addNewInlineRow(sid, idToUse){
var $clone = $("#"+sid).clone();
$clone.attr("id", idToUse);
//Now append the clone to table
$("table").append($clone);
}
答案 1 :(得分:0)
当您使用.get()
检索DOM元素时,它不是jQuery对象,因此您无法使用.text()
来设置文本值。尝试:
$("#"+idToUse+ " td").get(index).innerHTML = $(this).text();
答案 2 :(得分:0)
您仍然可以克隆整个tr,然后更新需要更新的部分(即ID):
function addNewInlineRow(sid, idToUse){
$('#' + sid).clone().attr('id', idToUse).appendTo('table');
}
答案 3 :(得分:-1)
如果您想从 div,span
您必须在jquery中使用.html()
。
尝试打击代码:
$("#"+idToUse+ " td").get(index).html($(this).html());