我有以下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>
的副本。
有谁知道为什么会这样?
答案 0 :(得分:3)
这是因为$("<ul><ul>")
,您正在创建2个ul
元素。将其更改为:
var parentContainer = $("<ul></ul>");
或者:
var parentContainer = $("<ul/>");