【发布时间】:2012-09-20 19:56:17
【问题描述】:
以下代码将:
- 通过将元素数分成两半来拆分列,然后它将 -创建一个新的div并将剩余的内容添加到新的div中
下面我正在尝试使用“each()” 来执行此操作,并且它 - 大部分 - 可以正常工作,只是它添加了 new div 。第二个 #container 的第一个实例 - 尽管它正在读取每个组并正确拆分。
jQuery:
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.js"></script>
<script>
$(document).ready(function(){
$('body > #container').each(function(){
var select = $(this);
//var chooseme= select.find('#container');
var count= select.find('div.firstcol > div.datarow').length;
if (count>1)
{
if (count & 1)
{
$("<div></div>").attr('class','secondcol').appendTo('#container');
$('div.firstcol > div.datarow').eq(count/2).nextAll().appendTo('.secondcol');
}
else
{
$("<div></div>").attr('class','secondcol').appendTo('#container');
$('div.firstcol > div.datarow').eq(count/2-1).nextAll().appendTo('.secondcol');
}
} //if
});//each
});//ready
</script>
HTML:
<style>
body{font-family:arial;}
.firstcol{float:left;padding-left:100px;background-color:#ccc}
.secondcol{float:left;color:blue;position:relative;padding-left:100px;}
.secondcol h3 {font-size:18px;font-weight:normal;color:grey}
span{}
</style>
</head>
<body>
<div id="container">
<div class="firstcol">
<div class="datarow">
<span class="label">File Type</span>
<span class="value">JPG File</span>
</div>
<div class="datarow">
<span class="label">File Type</span>
<span class="value">JPG File</span>
</div>
<div class="datarow">
<span class="label">File Type</span>
<span class="value">JPG File</span>
</div>
</div>
</div>
<!--**********second group****************-->
<div id="container">
<div class="firstcol">
<div class="datarow">
<span class="label">File Type</span>
<span class="value">JPG File</span>
</div>
<div class="datarow">
<span class="label">File Type</span>
<span class="value">JPG File</span>
</div>
</div>
</div>
之后:正如代码呈现的那样:
<body>
<div id="container">
<div class="firstcol">
<div class="datarow">
</div>
<div class="secondcol">
**<div class="secondcol">**
</div>
<div id="container">
<div class="firstcol">
<div class="datarow">
<div class="datarow">
</div>
</div>
问题是我希望 secondcol 进入 second 容器
【问题讨论】:
-
HTML 是您开始使用的,还是您想要结束的?你能把 before 和 after 都贴出来吗?
-
对不起,我很难理解你的描述,你能改写一下吗?或包括一个jsfiddle?还有,
$('body > #container')不就是选择#container吗? -
jsfiddle.net/cdcWf我附上了链接