这段代码在.tile div之外创建了一个ul,但我需要在里面。
$(container).append(
'<div class="tile" />' + '<ul class="layer"></ul>' + '</div>'
);
RESULT:
<div class="tile"></div>
<ul class="layer"></ul>
TRYING TO GET:
<div class="tile">
<ul class="layer"></ul>
</div>
答案 0 :(得分:1)
div与班级#34;标题&#34;正在使用自我结束标记<div ... />
改为
$(container).append(
'<div class="tile">' + '<ul class="layer"></ul>' + '</div>'
);
或者做这样的事情
var content = $('<div>')
.addClass('title')
.append(
$('<ul>').addClass('layer')
);
$(container).append(content);
答案 1 :(得分:1)
您可以通过以下方式追加元素:
$('container').append($("div").addClass("tile").append($('ul').addClass("layer")));
您正在创建和添加元素,因此请知道您可以这样做:
var tile = $("div")
.addClass("tile")
.append(
$('ul')
.addClass("layer")
.append($("li").text("first in list"))
.append($("li").text("second in list"))
);
$('container').append(tile);
答案 2 :(得分:0)
您正在使用斜杠关闭.title
元素。这是“简写”,告诉HTML您希望在创建元素后立即关闭该元素。请尝试以下方法。
'<div class="title">' + '<ul class="layer"></ul>' + '</div>'
我在寻找这个问题的答案时发现的有趣的事情是document.write
没有遭受这种行为,所以也许这与jQuery如何解析HTML与你的浏览器/解释器有关。
答案 3 :(得分:0)
获得结果的另一种方法是:
$(container).append('<div class="tile" />').children('.tile').append('<ul class="layer"/>');
或者您可以使用:
$(container).append(function(index, html) {
return $('<div class="tile" />').append('<ul class="layer"/>');
});
或者:
var eleToAppend = $('<div class="tile" />').append('<ul class="layer"/>');
$(container).append(eleToAppend);
答案 4 :(得分:0)
非常简单
尝试以下代码: -
$(container).append('<div class="tile"><ul class="layer"></ul></div>');