javascript - 从列表中的列表中提取信息。

标签 javascript jquery

在我的 js 中,我得到一个列表“数据”,如下所示:

data = {test: 'test', test2:'test2', test3 : buffer}

我的“缓冲区”具有以下形式:

buffer =[{testa: 'testa', testb : 'testb'}, {testc: 'testc', testd : 'testd'}, {teste: 'teste', testf : 'testf'} ... ]

我想做的是对于缓冲区的每个元素,使用它包含的数据并像这样进行附加。

$('.try').append('<div> <p> '+testa+' </p> <p> '+testb+' </p> <div>')
$('.try').append('<div> <p> '+testc+' </p> <p> '+testd+' </p>)
...

html:

<div class='try' >

知道如何做到这一点吗?

我知道我可以使用“data.buffer”访问“buffer”。但是,我需要使用“buffer”的每个元素创建一个循环,然后对于缓冲区的每个元素,提取其中的数据并创建一个新的 div...

非常欢迎任何帮助。

编辑: 这是我尝试过的:

    for (var i in data.buffer) $('.try').append('<div> <p> '+i.testa' </p> <p> '+i.testb' </p> </div>')

但是这不起作用。

最佳答案

使用 $.each 迭代您的对象..

试试这个

var buffer=[{testa: 'testa', testb : 'testb'}, 
            {testc: 'testc', testd : 'testd'}, 
            {teste: 'teste', testf : 'testf'}]​;

var html = '';
$.each(buffer ,function(i, v){ // Iterate over the Array
    html += '<div>' ;
    $.each(v, function(j,value) { // Iterate over each object
        html += '<p> '+ value+' </p>' ;
    });   
    html += '</div>' ;        
});


$('.try').append(html);

<强> Check Fiddle

更新

对于您要求的第二种格式..删除最里面的$.each

var html = '';
$.each(buffer, function(i, v) { // Iterate over the Array
    html += '<div>';
    var k = 0;
    $.each(v, function(j, value) { // Iterate over each object
        if (k == 0) {
            html += '<p> ' + value + ' </p>';
        }
        else {
            html += '<img src="' + value +'" />';
        }
        k++;
    });
    html += '</div>';
});

$('.try').append(html);​

<强> Fiddle

关于javascript - 从列表中的列表中提取信息。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13479073/

相关文章:

jquery - 如何从另一个日期选择器中设置日期选择器中的最小日期?

javascript - 为什么jQuery或诸如getElementById之类的DOM方法找不到元素?

javascript - jQuery .attr 不工作

javascript - 获取数据后返回 JavaScript

javascript - 当它是图像时,如何切换 <li> 可排序状态

javascript - 如何在 JavaScript 上创建 div 并设置样式

javascript - 在 javascript 字符串中写入 runat ="server"

javascript - 在 javascript 或 jquery 中按名称获取单选框选中的值

javascript - window.onresize 不在 Chrome 中触发,但在 Chrome 隐身模式中触发

JavaScript 数学计算不正确