有关DOM的一个问题,急!!!!

liangzai6640459 2005-08-18 08:54:50
今天遇到了一个DOM的问题,很棘手请各位大虾帮忙!
具体描述:
1、创建一个DOM对象,Document doc1;
2、创建它的一个元素,Element ele;
3、取得另外一个DOM对象,Document doc2;
4、在刚刚创建的ele元素中我想利用appendChild的方法将doc2作为ele的子元素,
ele.appendChild(doc2);
5、这是就会抛出一个异常:org.w3c.dom.DOMException: WRONG_DOCUMENT_ERR: A node is used in a different document than the one that created it.
大概意思应该是说对于appendChild方法只能操作同一个Document。
但是我现在的需求就是想把doc2作为ele的子元素,请问我该怎么办啊?有没有什么好的方法?
...全文
986 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
rower203 2005-08-18
  • 打赏
  • 举报
回复
强行转型不知是否能成功?
liangzai6640459 2005-08-18
  • 打赏
  • 举报
回复
对于Document.importNode(Node importedNode, boolean deep)方法只能把其它的Document的节点引入到当前的Document下,但我想把它放到特定的节点下应该怎么做呢?
liangzai6640459 2005-08-18
  • 打赏
  • 举报
回复
那怎么样才能解决这个问题呢?
关键是现在有这个需求!
rower203 2005-08-18
  • 打赏
  • 举报
回复
也就是说在类的引用中Import了两种含有相同类名(Document)的包,而这两种包都让你用到了,且你试图把它们追加到一起,所以报错。
jFresH_MaN 2005-08-18
  • 打赏
  • 举报
回复
你的问题很明确:

文档(Document)也是一个节点(Node),所以也可以把节点直接插入到文档中。不过要注意:只有该文档创建出的节点才能插入到该文档中,否则会引发WRONG_DOCUMENT_ERR异常。创建节点使用Document.createXxxx方法。可以用cloneNode(boolean deep)方法来克隆一个节点,用boolean型的参数决定是否深度拷贝,但是克隆出的节点也不能插入别的文档中。另外,可以用Document.importNode(Node importedNode, boolean deep)方法来引入别的文档中的节点。

rower203 2005-08-18
  • 打赏
  • 举报
回复
是这样的,Document doc1与Document doc2不是同一个包里的对象类型,所以不能追加。