我想将一些元素存储到数组中,我需要将它作为每个元素的位置。
下面的示例显示了我想要存储的一个简单示例(请注意,每次加载页面时ID都会随之变化)。
我想存储每个box-parent类的位置及其所有子节点(div)
更新:
主要思想是将结构(所有元素的位置)放入数组/字符串中,我认为它叫做序列化。 box-parent类是容器 对于可排序的块/小部件(box-1,box-2等),可以在此处找到类似示例http://james.padolsey.com/demo/tut-inettuts-with-cookies/
基本示例
<div id="main-wrapper">
<div class="box-parent">
<div id="box-1"> content here </div>
<div id="box-2"> content here </div>
<div id="box-3"> content here </div>
<div id="box-4"> content here </div>
<div id="box-5"> content here </div>
</div>
<div class="box-parent">
<div id="box-6"> content here </div>
<div id="box-7"> content here </div>
<div id="box-8"> content here </div>
<div id="box-9"> content here </div>
<div id="box-10"> content here </div>
</div>
<div class="box-parent">
<div id="box-11"> content here </div>
<div id="box-12"> content here </div>
<div id="box-13"> content here </div>
<div id="box-14"> content here </div>
<div id="box-15"> content here </div>
</div>
</div>
答案 0 :(得分:1)
您的结构不能是:object['box-parent']
不能引用2个不同的值。
您可以通过各种方式获得该职位。假设每个.box-parent
有5个元素,您可以应用以下计算:
var elem; // given that elem refers to a "box-X", for instance $('#box-4'):
elem.prevAll().length + elem.parent().prevAll('.box-parent').length*5
您还可以使用外部计数器枚举.box-parent
,并将这些位置放入结构中:
var i=0;
$('.box-parent').each(function() {
$(this).children().each(function() {
// i = the position
// ...
i++;
});
});
答案 1 :(得分:0)
使用getElementsByTag(),计算没有“box-parent”类的元素,并将“position”设置为等于非“box-parent”类元素的数量。
答案 2 :(得分:0)
因此,如果我理解正确,你就会有这样的结构
<container>
<element class="parent">
<!-- Content #1 -->
</element>
<element class="parent">
<!-- Content #2 -->
</element>
<element class="parent">
<!-- Content #3 -->
</container>
并且您要定义内容为#1的元素是第一个元素,它向下增加,您希望保留该顺序。
我假设jQuery是可以接受的;如果它不让我知道
// Something like this should work
$("container").children(".parent")
// [Element, Element, Element]