jQuery追加重复元素

时间:2013-05-19 16:48:04

标签: javascript jquery

我有以下JavaScript:

jQuery.fn.outerHTML = function(s) {
    return s
        ? this.before(s).remove()
        : jQuery("<p>").append(this.eq(0).clone()).html();
};

$(function() {
    var parentContainer = $("<ul><ul>");
    var textContainer =  $("<li></li>");
    var textInput = $("<textarea rows=10 cols=10></textarea>");
    textContainer.append(textInput);
    parentContainer.append(textContainer);

    alert(parentContainer.outerHTML());
});

警报将显示以下代码:

<ul><ul></ul><li><textarea rows="10" cols="10"></textarea></li></ul>

据我所知,它将li元素嵌套到第一个ul元素中,但它包含第一个包装器<ul></ul>的副本。

有谁知道为什么会这样?

1 个答案:

答案 0 :(得分:3)

这是因为$("<ul><ul>"),您正在创建2个ul元素。将其更改为:

var parentContainer = $("<ul></ul>");

或者:

var parentContainer = $("<ul/>");