Как клонировать и удалять последний дочерний элемент с помощью jquery?

Я хочу клонировать и удалять ul last-child, но следующий код не работает. Кто-нибудь скажет мне, как это будет работать?

$(document).ready(function () {
 tmp1 = '';
 tmp = '<ul><li><h4>Menu 5</h4></li></ul><ul><li><h4>Menu 6</h4></li></ul><ul><li><h4>Menu 7</h4></li></ul>';
 $(tmp).children('ul:last-child').clone().appendTo(tmp1)
 $(tmp).children('ul:last').remove();
 $('div').append(tmp);
});
1 ответ

Я думаю, что вы делаете это неправильно: tmp - это строка.

Вы должны сделать это: http://jsfiddle.net/Lu6jA/

$(document).ready(function () {
 tmp1 = '';
 tmp = '<ul><li><h4>Menu 5</h4></li></ul><ul><li><h4>Menu 6</h4></li></ul><ul><li><h4>Menu 7</h4></li></ul>';
 var lastUl = tmp.lastIndexOf("<ul><code>");
 var yourclone = tmp.substring(lastUl);
 var newtmp = tmp.replace(yourclone,"");
 $('div').append(newtmp);
 alert(yourclone); // This is for your reference
});</code> <p> <span>Explantion:</span> сначала найдите <code>last UL</code> из строки. <code>yourclone</code> содержит вашу последнюю строку <code>ul</code>. Теперь замените <code>last ul</code> из строки <code>tmp</code> ничем, поэтому в основном это значит удалить ее и поместить результат в <code>newtmp</code>. добавьте его в <code>div</code>.</p> </ul>

licensed under cc by-sa 3.0 with attribution.