我想克隆并删除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);
});
答案 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 UL
。 yourclone
包含您作为字符串的最后一个ul
。
现在,将last ul
字符串中的tmp
替换为空,这基本上意味着删除它并将结果放在newtmp
中。将其附加到div
。