JQuery - прикрепить (дублировать, клонировать) li и поместить его выше li - PullRequest
4 голосов
/ 05 января 2011

Можно ли клонировать определенный

и поместить его выше другого определенного ?
Любая подсказка поможет мне ..?

HTML

<div id="main">
<ul>
<li>Item 1</li>
<li>Item 2</li>
<li>Item 3</li>
<li>Item 4</li>
</ul>
</div>

псевдо-Javascript (JQuery)

$('#main ul li:eq(3)').duplicateAndPutAbove('#main ul li:eq(2)');

Результат HTML

<div id="main">
<ul>
<li>Item 1</li>
<li>Item 3</li> <!-- Item 3 was duplicated (or cloned) and then putted ABOVE Item 2 -->
<li>Item 2</li>
<li>Item 3</li>
<li>Item 4</li>
</ul>
</div>

Ответы [ 4 ]

7 голосов
/ 05 января 2011

Вы были действительно близко, вы хотели clone и insertBefore (и помните, что eq основано на нуле):

$('#main ul li:eq(2)').clone().insertBefore('#main ul li:eq(1)');

Живой пример

3 голосов
/ 05 января 2011
  var elem = $('li').contains('3').clone();  // make a copy
  $('li').contains('Item 3').before(elem);   // insert before the cloned element
3 голосов
/ 05 января 2011
$('#main ul li:eq(3)').clone().insertBefore('#main ul li:eq(2)');

Демо: http://jsfiddle.net/karim79/8LpuN/

0 голосов
/ 05 января 2011
$('#main ul li:eq(3)').clone().insertBefore('#main ul li:eq(2)');
...