Javascript 交换元素导致错误的getposition

Javascript 交换元素导致错误的getposition,javascript,html,css,Javascript,Html,Css,我想用onclick事件交换两条文本的位置,同时显示一个单击位置的警报(感谢用户Kiran Reddy提供的代码)。我会这样做,但当我更改位置文本时,也会更改位置。我不知道会发生什么,知道吗? 例如: 文本1 文本2 文本3 text 4//单击此处向我显示警报(3)这是它的位置,然后交换位置这是结果: 文本1 文本2 文本4 文本3//单击此处向我显示错误警报(2),其位置为3 这是我的代码,在本地工作,在网络上不工作 arrayOffsetTop=[]; 函数getPosition(对象

我想用onclick事件交换两条文本的位置,同时显示一个单击位置的警报(感谢用户Kiran Reddy提供的代码)。我会这样做,但当我更改位置文本时,也会更改位置。我不知道会发生什么,知道吗? 例如:

文本1 文本2 文本3 text 4//单击此处向我显示警报(3)这是它的位置,然后交换位置这是结果:

文本1 文本2 文本4 文本3//单击此处向我显示错误警报(2),其位置为3

这是我的代码,在本地工作,在网络上不工作

arrayOffsetTop=[];
函数getPosition(对象)
{
var list=document.getElementsByClassName(“位置”);
list=[].slice.call(list);
警报(list.indexOf(object));
}
函数变换位置(对象)
{
//在所选位置发出警报
获取位置(对象);
//数组中元素的存储偏移
if(arrayOffsetTop.length==0)
{

对于(var i=0;类似的东西可能是:除非你真的想用style.top.Yes Lain来做!但是我想知道的是getposition为什么会改变?我希望getposition保持不变,但是当我改变文本位置时,也会改变位置;(在我的示例中,您没有更改style.top,而是更改元素本身的位置。之前的第二个thild元素将成为之后的第三个子元素。这就是为什么它的getPosition会更改。如果您只想知道原始位置,可以执行以下操作: