如何知道元素的默认位置?

时间:2014-11-19 09:31:54

标签: jquery

假设以下html:

<main class="main">
   <div class="foo"></div>
</main>

.foo可能在文档中的任何位置与上面的html完全不同。所以它甚至可能是这样的:

<header class="header">
   <div class="bar"></div>
   <div class="blah">
      <div></div>
      <div></div>
      <div class="foo"></div>
      <div></div>
   </div>
</header>

所以,现在我将.foo元素转换为footer

$('.foo').appendTo('.footer')

现在,经过一段时间后,我想将.foo元素回滚到默认位置并将.foo放在那里:

$('.foo').appendTo(????)
//Or,
$('.foo').insertAfter(????)
//Or,
$('.foo').insertBefore(????)

我该如何玩这个?

2 个答案:

答案 0 :(得分:1)

如果你不想隐藏原始对象并克隆它,或者你只想保留这个元素的一个实例,你可以在它之后添加一个虚拟隐藏元素然后,只需获取隐藏元素和

之后附加你的DIV

答案 1 :(得分:0)

你已经使用jQuery修改了DOM,所以它不再是它的默认&#34;加载页面时的位置。一个可能不是很好的选择是在使用while循环和parent()方法将选择器移动到页脚之前将选择器缓存到它。您也可以克隆元素并隐藏原始元素。

另一个选择是在DOM中的旧位置留下隐藏元素。

$foo = $('.foo');
$foo.after('<span class="fooOriginal"></span>');
$foo.appendTo('.footer');

// revert
$foo.appendTo('.fooOriginal');