作者ridingsheep (咩咩羊)
看板Ajax
标题Re: [问题] 存取DOM node的问题
时间Fri Dec 26 19:50:54 2008
※ 引述《ridingsheep (咩咩羊)》之铭言:
: 小弟目前写javascript时遇到问题
: 我想要将HTML element的node存入一个array之中
: 然而将此node取出时,发现在IE之中,只会取出该node
: 而firefox则是会连带所有的childs也一并取出
: 因为我想要将取出的node(包含childs)用appendChild到parent element
: 目前想到的就是先用element.outerHTML取出字串存入array之中
: 然後再用parent element.innerHTML = element.outerHTML的概念来达成我想要的目的
: 不小得有没有更好的方法,因为总觉得先转成字串,好像比较吃资源
: 谢谢
我想具体陈述一下我的问题
首先我建立了一个array (也许用hash比较恰当)
arrayA = new Array();
然後我有一个nodeA,此nodeA有一个child, nodeB
我透过arrayA['test']=nodeA
如果nodeB有在页面上,那麽我存取arrayA['test']得到的nodeA会包含他的child, nodeB
然而如果nodeB不在页面上,那麽取出arrayA['test']在IE之中,则会只有nodeA本身,
如果在firefox之中,则可以把完整的树状结构取出。
不晓得是不是因为不在页面上,所以被IE的Garbage collector清除掉了
请问有办法解决这个问题吗?
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.129.77.5
1F:→ TonyQ:不在页面上的意思是被innerHTML盖掉了? 12/26 20:19
2F:→ TonyQ:听起来应该流程设计方面有问题. 12/26 20:19
3F:→ ridingsheep:不在页面上的意思是不属於body的子元素 12/26 20:35
4F:→ TonyQ:太乱了...帮不上忙...:p 12/26 20:51