重複の可能性:
.after()を使用してhtmlの終了タグと開始タグを追加する
ほぼ同じ高さの3列のリスト()を表示したい<ul>
ので、タグを数え、<li>
appendを使用してリストを動的に生成します。しかし$el.append($("</ul><ul class='new'>"))
、現在のリストを閉じて新しいリストを追加すると、のように追加され<ul class='new'></ul>
ます。
<ul>
タグを閉じて、もう一度開きたいだけです。jQueryappend()
関数はどういうわけかDOM構造を検証していますか?どうすれば見た目の結果を得ることができますか?これを達成するためのより良い方法はありますか?
HTML:
<div id="mylist">
here the list will show
</div>
Jquery:
var $el = $("#mylist");
$el.empty(); // remove old options
$el.append($("<ul class='new'>"));
var j = parseInt(response.length/3);
var i = 0;
$.each(response, function(key, value) {
i++;
if(i%j==0){
$el.append($("</ul><ul class='new'>")).append($("<li></li>").text(value.nombre));
}
else{
$el.append($("<li></li>").text(value.name));
}});
期待される結果:
<div >
<ul class="new">
<li>Lorem Ipsum</li>
<li>Lorem Ipsum</li>
<li>Lorem Ipsum</li>
</ul><ul class="new"> //This is what I want to append
<li>Lorem Ipsum</li>
<li>Lorem Ipsum</li>
<li>Lorem Ipsum</li>
</ul><ul class="new">
<li>Lorem Ipsum</li>
<li>Lorem Ipsum</li>
</ul>
</div>
私が得たもの:
<div id="mylist">
<ul class="new"></ul>
<li>Lorem Ipsum</li>
<li>Lorem Ipsum</li>
<li>Lorem Ipsum</li>
<ul class="new"></ul>
<li>Lorem Ipsum</li>
<li>Lorem Ipsum</li>
<li>Lorem Ipsum</li>
<ul class="new"></ul>
<li>Lorem Ipsum</li>
<li>Lorem Ipsum</li>
</div>