如何使用jquery克隆和删除最后一个孩子?

时间:2014-01-07 21:02:51

标签: javascript jquery html

我想克隆并删除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 个答案:

答案 0 :(得分: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>");
   var yourclone = tmp.substring(lastUl);
   var newtmp = tmp.replace(yourclone,"");
   $('div').append(newtmp);
   alert(yourclone);  // This is for your reference
});

<强> Explantion: 首先从字符串中找到last ULyourclone包含您作为字符串的最后一个ul。 现在,将last ul字符串中的tmp替换为空,这基本上意味着删除它并将结果放在newtmp中。将其附加到div