2

私は次の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>

誰もがなぜこれが起こるのか理解していますか?

4

1 に答える 1

3

これは 、2 つの要素$("<ul><ul>")を作成しているためです。ul次のように変更します。

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

または:

var parentContainer = $("<ul/>");
于 2013-05-19T16:51:22.073 に答える