2011-11-30 33 views
3

我想让ID =“a”元素div成为div.b元素中的第一个div。如何把这个元素放在第一个使用jQuery的地方

下面是代码:

<div class='b'> 
    <div>a</div> 
    <div>a</div> 
    <div id="a">I want to put this div to be the first div</div> 
</div> 
+0

你想通过jQuery的插入在页面加载后这个div元素或页面已经在页面加载之前的HTML。 –

回答

1

我想你还需要在预先考虑之前/之前删除#a元素,否则你将会有重复。我建议:

var aCopy = $('#a').clone(); 
$('#a').remove(); 
$('#b').prepend(aCopy); 
+1

当只有一个#b实例时,这是不必要的因为#查找了一个应该是唯一的ID),但是如果有更多的人应该使用这种方法或最终得到重复,请参阅http://api.jquery.com/prepend/,仍然没有必要克隆如果可以先预先安排然后再删除,但并不总是可能的 –

+1

其实你只需要**一行代码**,就像这个线程的其他答案一样:'$('#b')。prepend($ ('#a'));'你不需要克隆和删除节点。 –

+0

我同意@Konstantin。去除是没有必要的; 'prepend'和'append'为你处理。 – FishBasketGordo

8

使用prepend[API Ref]

$('#b').prepend($('#a')); 

或者,如果它更方便,你可以使用prependTo[API Ref]

$('#a').prependTo($('#b')); 
+0

如果我想让它变成完全相反的方式,即我想使它最后一个div – Phoenix

+0

“append”和“appendTo”以同样的方式工作,除了它们会将元素移动到最后一个子位置的第一。 – FishBasketGordo

+0

@ user1063434 http://api.jquery.com/append/ – Wazzzy

0

如果你想通过插入jQuery的则有一个函数前面加上其插入元素作为第一元素。

YOu可以检查这个link欲知更多信息。

追加只会与前置相反。

相关问题