使用css / jquery动态更改基于id的Div位置

时间:2014-06-19 16:53:28

标签: jquery

使用CSS Sectors和JQuery,我想根据用户传递的id重新定位div。让我们说用户在查询字符串中传递1683,我希望顶部带有id后1683的div然后在1681之后,1684之后,1684之后

以下是当前格式

<div class="container">
    <div class="head">....</div>
    <div class="post-1681 status-publish hentry id="post-1681">.......</div>
    <div class="post-1682 status-publish hentry id="post-1682">.......</div>
    **<div class="post-1683 status-publish hentry id="post-1683">.......</div>**
    <div class="post-1684 status-publish hentry id="post-1684">.......</div>
</div>

预期显示应如下所示:

<div class="container">
    <div class="head">....</div>
    **<div class="post-1683 status-publish hentry id="post-1683">.......</div>**
    <div class="post-1681 status-publish hentry id="post-1681">.......</div>
    <div class="post-1682 status-publish hentry id="post-1682">.......</div>
    <div class="post-1684 status-publish hentry id="post-1684">.......</div>
</div>

请记住,所有这些div id都是动态生成的,但我希望在顶部显示的div将通过Query param提供给我。

2 个答案:

答案 0 :(得分:1)

var id="1683";
$('#post-'+id).insertAfter($('div.head'));

<强> jsFiddle example

答案 1 :(得分:0)

因此,您希望在div之后使用课程head添加新元素。是这样吗?

然后您可以像这样使用after()

$(".head").after('<div class="post-1683 status-publish hentry id="post-1683">...</div>');

或者,如果您已经拥有所有div,然后想要重新定位它,那么您需要先将其分离并执行此操作:

$(".post-1683").detach().insertAfter(".head");

工作代码: http://jsbin.com/rodotovo/1/edit