我有一段似乎无法修复的代码。如果我不遍历该函数或不克隆,一切正常。当我把它们放在一起时,div 的结构会被打乱。
在任何代码之前,我先从:
<div class="origin"></div>
然后我写了一些脚本来添加 html,它的结构应该是这样的: 代码:
<div id="id0">
<div class="scroller">
<div class="origin"></div>
</div>
<a href="#"></a>
</div>
<div class="viewport"></div>
<div id="id1">
<div class="scroller">
<div class="origin"></div>
</div>
<a href="#"></a>
</div>
<div class="viewport"></div>
它开始很好,但是如果你取消注释下面的两行,带有 ID 的第二个 div 现在位于前一个视口内,而不是包裹在“原点”周围。我正在尝试将每个“原点”内的图像和可能的标题复制到其自己的视口内(图像上有两个周围的 div)。
编码:
function writeGallery(i) {
var startDiv = $("div.origin:eq("+i+")");
startDiv.wrap('<div class="scroller"></div>');
startDiv.parent().wrap ('<div id="id' + i + '" />');
var horizThumbwrap = startDiv.parent().parent();
horizThumbwrap.append ('<a href="#"></a>');
horizThumbwrap.after ('<div class="viewport" />');
//var horizViewport = startDiv.parent().parent().next(".viewport");
//startDiv.clone().appendTo(horizViewport);
}
$(document).ready(function(){
$("div.origin").each(function(index) {
writeGallery (index);
});
$('#result').text($('#container').html());
});
小提琴中的代码(取消注释 2 行以查看混乱):http: //jsfiddle.net/AjSnx/
我唯一能想到的就是以各种方式重写它,并希望我能找到一些有用的东西。但由于这是我的第一个 jQuery 项目,我也想了解我在这里做错了什么。
任何人都可以帮忙吗?谢谢!