我正在尝试将此加载的DOM转换为我可以使用的数组格式。
<div>
<div>[a image]</div>
<div>
<p class="ab">text 1</p>
<p class="bc">text 2</p>
</div>
</div>
<div>
<div>[a image]</div>
<div>
<p class="ab">text 1</p>
<p class="bc">text 2</p>
</div>
</div>
我想读取这些div节点并将其转换为如下所示的数组结构:
var arrayObj = [{ “img”:“source”,“ab”:“text”,“bc”:“text”},{“img”:“source”,
“ab”:“text”,“bc”:“text”}
有人可以告诉我如何实现这个目标吗?
由于
答案 0 :(得分:1)
循环访问容器的children[]
数组。对于每一个,找到图像和p
标签。分配给新对象。将Object推入数组。
示例:
var out = [], container = document.getElementById('container'),
c = container.children, l = c.length, i, obj, p, m, j;
for( i=0; i<l; i++) {
obj = {};
obj.img = c[i].getElementsByTagName('img')[0].src;
p = c[i].getElementsByTagName('p');
m = p.length;
for( j=0; j<m; j++) obj[p[j].className] = p[j].firstChild.nodeValue;
out[i] = obj;
}
// out