javaScript中table表任意复制一行怎么实现JS

 我来答
金刚钻Johnny
2015-07-15 · TA获得超过356个赞
知道小有建树答主
回答量:314
采纳率:100%
帮助的人:55.8万
展开全部
table表任意复制一行的关键是复制哪行,插入到什么位置,如何插入。
第 一个问题复制哪行,通常是点击某一行以确定复制的当前行,核心代码如下:
var e = window.event
if (e.target) targ = e.target
else if (e.srcElement) targ = e.srcElement
if (targ.nodeType == 3)
targ = targ.parentNode
if(targ.tagName=="TD")
第 二个问题插入位置,通常是点击行的下面
pos = targ.parentNode.rowIndex+1
也有可能在表头首行pos =0
再就是表尾"beforeEnd"
第三个问题如何插入,先复制当前行:
var con = targ.parentNode.cloneNode(true);
再进行插入,可以是insertRow,也可以是insertAdjacentElement:
var x=document.getElementById('myTable').insertRow(pos);
document.getElementById('myTable').insertAdjacentElement("beforeEnd",con);
复制之后可对复制行里的内容进行修改调整:
var y=x.insertCell(0).innerHTML=document.getElementById("cell1").value
也可进行删除指定行:
document.getElementById('myTable').removeChild(Obj.parentNode.rows[i]);
老刀正能量
2013-07-23 · TA获得超过2011个赞
知道大有可为答主
回答量:1487
采纳率:0%
帮助的人:1532万
展开全部

在js中用克隆(clone)的方法动态添加表格(table)行(tr):
用javascript的克隆方法添加表格的行要比用innerHTML方法代码简洁的多,主要使用Obj.cloneNode(true);方法进行克隆.
看下面的代码:

 <select onchange="add_row(parseInt(this.options[this.selectedIndex].text,10),document.getElementById(’cloneTR’))">
<option selected>0000</option>
<option>1111</option>
<option>2222</option>
<option>3333</option>
<option>4444</option>
<option>5555</option>
</select>
<table id="hiddentbl">
<tr id="cloneTR" style="display:none">
<td>11111</td>
<td>22222</td>
<td>33333</td>
<td>44444</td>
</tr>
</table>
<script type="text/javascript">
function add_row(rowNum,Obj){ 
for(var i=1;i<Obj.parentNode.rows.length;i++){
Obj.parentNode.removeChild(Obj.parentNode.rows[i]);
i--;
}
for(var i=0;i<rowNum;i++){
var con = Obj.cloneNode(true); 
con.removeAttribute("style")
Obj.parentNode.insertAdjacentElement("beforeEnd",con); 
}

</script>

本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
handangaoyang
2013-07-20 · TA获得超过2242个赞
知道大有可为答主
回答量:2633
采纳率:88%
帮助的人:905万
展开全部
  1. 你这个任意复制一行,是点击某一行中的一个按钮,然后复制当前行?

  2. 复制的当前行,是插入到行集合的末尾,还是当前行的下面?

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式