javascript的奇怪问题~~请各位都看一下...好急~~
首先..我先说明一下我的情况吧~
比如~在页面有这些东西..
<body>
<div id= "item "> a </div>
<div id= "item "> b </div>
<div id= "item "> c </div>
</body>
(a,b,c代表一些table html,简略了)
<javascript>
(这样可以得到一个array吧!)
var list = document.all[ "item "];
(改变Layout,进行调换位置)
var temp;
temp = list[0].outerHTML;
list[0].outerHTML = list[1].outerHTML;
list[1].outerHTML = temp;
</javascript>
交换位置之后~在其他function会发现...
list[0].outerHTML只有 <div id= "item "> </div> 没有b了...
又或者..
var obj = list[0].document.getElementById(a.id);
对这个obj进行一些属性更改..比如是某row的color~`但.....竟然是list[1]有变化...而不是list[0]~~~
请问各位有没有遇到这些情况..??要如何解决..
大家不要建议我用坐标来控制Layout..因为每个div的大小都不一样..处理起来很麻烦~~看看大家还有没有其他更好的方法~~谢谢~~~~~~`
------解决方案--------------------这样是会出问题的,我也碰到过,你要么这样试试看:
var temp0,temp1;
temp0 = list[0].outerHTML;
timp1 = list[1].outerHTML;
list[0].outerHTML = temp1;
list[1].outerHTML = temp0;
------解决方案--------------------1.ID必须唯一? ID可以不唯一 多个相同ID将被认为是个数组!
2.getElementsByName()方法可以取得 ID 和 Name 不是只能取得Name属性
3.settimeout 是个多线程处理方法 当使用一个settimeout相当于打开的一个新的线程 当多个线程处理同一个变量的时候 你就要小心了