在jQuery中生成多个唯一的div集

时间:2014-08-06 03:54:32

标签: javascript jquery html

我正在尝试在id为row的现有div中生成多个唯一的div组。我希望输出为:

<div id="row">

 <div>fluffy</div>
 <div>soft</div>
 <div>green</div>

 <div>mittens</div>
 <div>coarse</div>
 <div>fire</div>   

 <div>whiskers</div>
 <div>none</div>
 <div>grey</div>      

</div>

但是我的输出目前是这样的:

<div id="row">

<div>fluffy, soft, green</div>
<div>mittens, coarse, fire</div>
<div>whiskers, none, grey</div>

</div>

我正在使用以下jquery:

function cats(catName, catFur, catEyes) {
$("#row").html('<div>' + catName + '</div>' + '<div>' + catFur + '</div>' + '<div>' + catEyes + '</div>');
}

$cat1 = ["fluffy", "soft", "green"];
$cat2 = ["mittens", "coarse", "fire"];
$cat3 = ["whiskers", "none", "grey"];

jQuery(document).ready(function() {

function catGenerator() {
    $catVars = [$cat1, $cat2, $cat3];
    cats($catVars[0], $catVars[1], $catVars[2] );
}

catGenerator();

});

我的总体目标是能够自动生成要生成的数字div集,例如,这里有3个div集,所以不是列出catGenerator函数下的每个cat数组,它会自动知道如何许多集合要生成。我相信这将通过for循环实现,但我无法弄明白。

我觉得整体而言我错过了一个更大的概念,我想知道是否有人有更好的方法来解决这个整体问题,这是一种更好的实践方法。谢谢!

codepen: http://codepen.io/anon/pen/IfKek

1 个答案:

答案 0 :(得分:0)

试试这个。

function catGenerator() {
    $catVars = [$cat1, $cat2, $cat3];
    for (var i = 0; i < $catVars.length; i++) {
        cats($catVars[i][0], $catVars[i][1], $catVars[i][2]);
    }
}

实际上“$ catVars”是一个二维数组。

$catVars[0][0] =  "fluffy";
$catVars[0][1] =  "soft";
$catVars[0][2] =  "green";
$catVars[1] = ["mittens", "coarse", "fire"]
$catVars[2] = ["whiskers", "none", "grey"];