如何用jquery交换元素?

时间:2012-08-21 20:29:19

标签: jquery

我的HTML文档中有以下设置...

<div id="logo"><h2>my top logo</h2></div>
<div id="one"><p>this is the first section with stuff in it</p></div>
<div id="two"><h1>this is the section section with stuff in it</h1></div>
<script>//this script associates to stuff in div id=two</script>

有没有办法告诉&lt; div id = 1&gt;,去&lt;脚本&gt;用这种方式标记它看起来像......

<div id="logo"><h2>my top logo</h2></div>
<div id="two"><h1>this is the section section with stuff in it</h1></div>
<script>//this script associates to stuff in div id=two</script>
<div id="one"><p>this is the first section with stuff in it</p></div>

我不能依赖包含所有这些的父div元素id。我只需要依靠你在这里看到的东西。

由于

5 个答案:

答案 0 :(得分:2)

你可以做到这一点,虽然我不知道这样做的目的是什么。它不应该改变页面布局。

$("#one").insertAfter( $("#one").nextAll("script").eq(0) );

你应该修复上面的html,你有未打开的p标签和未关闭的h1标签。

答案 1 :(得分:2)

试试这个:

$('#two').next().after($('#one'))

Fiddle

答案 2 :(得分:2)

$('#two').next('script').after( $('#one') );

答案 3 :(得分:1)

您可以使用以下内容移动它们

jQuery("#one").after(jQuery("#two"));

您也可以使用

jQuery("#two").before(jQuery("#one"));

答案 4 :(得分:0)

你可以这样做

$("#one").insertAfter($('script'));

鉴于这是您代码中唯一的脚本标记。您可以实施进一步的检查和平衡,以确保它直接位于您需要的脚本标记之后。