【发布时间】:2011-05-19 23:58:47
【问题描述】:
为了简单起见,我只是不明白为什么这不起作用。
我需要将一个 div 附加到文档的正文,然后再次复制相同 div 但隐藏,然后是另一个 div,然后再次复制另一个相同 div 但隐藏,依此类推...
$.each(myObj.items, function(i, item) {
// createItem simply finds an html fragment in the document,
// clones it and returns it
var $i = createItem(item);
// add a div first that clears floats - this is needed before every item
$('body').append('<div class="clear"/>');
// append a clone of the html fragment
$('body').append($i.clone());
// add another div that clears floats
$('body').append('<div class="clear"/>');
// append a clone of the html fragment but hide it
$('body').append($i.clone().addClass('hidden'));
});
我期待:
<body>
<div class="clear"/>
<div class="item">item</div>
<div class="clear"/>
<div class="item hidden">item</div>
<div class="clear"/>
<div class="item">item</div>
<div class="clear"/>
<div class="item hidden">item</div>
...
</body>
但我明白了..
<body>
<div class="clear"/>
<div class="item">item</div>
<div class="clear"/>
<div class="item">item</div>
<div class="clear"/>
<div class="item hidden">item</div>
<div class="clear"/>
<div class="item">item</div>
<div class="clear"/>
<div class="item hidden">item</div>
...
</body>
为什么第一个跳过?
编辑
我的源 html 是这样的:
<html>
<body>
<div class="template hidden">..</div>
</body>
</html>
我克隆模板 div,将其返回到我的函数,添加一个 div (class='clear'),然后是返回的 div 的克隆,然后是另一个 div (class='clear'),然后是返回的另一个克隆div
我的列表中的项目不超过 5 个。
编辑 2
愚蠢的用户错误...代码工作正常。我没有意识到我的第一行是硬编码而不是自动生成的。
对不起,伙计们......(感觉很愚蠢)
【问题讨论】:
-
你能提供一个(非)工作的例子吗?这似乎像这样工作:jsfiddle.net/hpw95
-
这是令人沮丧的部分。我不明白为什么它不能工作,你已经确认它可以工作,但出于某种奇怪的原因(请原谅开发人员的口头禅)它不能在我的机器上工作?