divObj.cloneNode.....使用cloneNode copy div

为什么我得到div 对象后,不能使用cloneNode copy 一份呢?

用div包着的东西,没法clone....

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">



无标题文档






    </tr>
</table>
<input type="button" onClick="add();"/>

function add(){ var tableObj = document.getElementById("tableId"); var trObj = document.createElement("tr"); var tdObj = document.createElement("td"); var inputObj = document.createElement("input"); //trObj.appendChild(tdObj); //tableObj.appendChild(trObj); //tdObj.appendChild(inputObj); var divObj = document.getElementById("div1"); var trObj = document.getElementById("trId"); var tmpObj = divObj.cloneNode(true); var newDivObj = document.createElement("div"); newDivObj.innerText=111; alert(tdObj); trObj.appendChild(tmpObj); }

aaa

[color=blue][b]
改正了以下几个错误:

1、标签的嵌套错误

2、clone后改id值

3、Element.innerHTML是标准的写法,FF3.6和IE8下通用[/b][/color]

[code="html"]<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">



无标题文档

aaa


function add(){ /*删除了无用的代码*/ var trObj = document.getElementById("trId"); var divObj = document.getElementById("div1"); var tmpObj = divObj.cloneNode(true); /* clone时,id也被克隆,注意该id*/ tmpObj.setAttribute("id","anotherID"); trObj.appendChild(tmpObj); }

[/code]

不会吧,
该方法将复制并返回调用它的节点的副本。如果传递给它的参数是 true,它还将递归复制当前节点的所有子孙节点。否则,它只复制当前节点。

返回的节点不属于文档树,它的 parentNode 属性为 null。

当复制的是 Element 节点时,它的所有属性都将被复制。但要注意,当前节点上注册的事件监听器函数不会被复制。