我想缓存和分离每个列表项“div.title” onload。
根据点击功能(view1或view2),“div.title”会再次附加到正确的列表项目。
当前尝试:http://jsfiddle.net/nolfranklin/KxXcd/7/(所有标题都附加到最后一个列表项)
<code>
<!-- list items -->
<li class="item-1">
<img src="image.jpg" />
<div class="title">Theme One</div>
</li>
<li class="item-2">
<img src="image.jpg" />
<div class="title">Theme Two</div>
</li>
/* Cache list items .title */
var title = $('ul').find('.title').detach();
$('a').click(function() {
// Reattach title to each list item.
$('ul li').each(function() {
$(title).appendTo(this);
});
});
</code>
答案 0 :(得分:2)
试试这个
$('a').click(function() {
// Reattach title to each list item.
$('ul li').each(function(i) {
$(this).append(title[i]);
});
});
<强> Check Fiddle 强>
title这里包含两个jQuery对象,你在li ..的末尾附加了objectList。
你需要迭代你将它们附加到li的标题。
答案 1 :(得分:0)
.detach
同时分离所有元素并将它们存储在集合中。
有多种方法可以从集合中获取特定索引,例如括号[index]
或.get
:
$('ul li').each(function() {
$(title.get($(this).index())).appendTo(this);
});