将数据动态附加到div

时间:2013-01-27 14:07:20

标签: jquery dom append each

我正在创建8个div,我希望通过使用这些div类来附加一个和一个到八个其他div:

var foo1 = "<span class='fooClass'>Foo text1</span>";
var foo2 = "<span class='fooClass'>Foo text2</span>";
var foo3 = "<span class='fooClass'>Foo text3</span>";
var foo4 = "<span class='fooClass'>Foo text4</span>";
var foo5 = "<span class='fooClass'>Foo text5</span>";
var foo6 = "<span class='fooClass'>Foo text6</span>";
var foo7 = "<span class='fooClass'>Foo text7</span>";
var foo8 = "<span class='fooClass'>Foo text8</span>";

$('.fooData').each(function(i) {
    $('this').append('foo' + i);
});

在创建我要追加的div之前,创建了.fooData divs(再次,它们中有8个)。

但是这不起作用(即没有数据添加到.fooData-divs)。我做错了什么?

注意:如果重要的话,.fooData-div还有其他类,例如:

<div class="color4 fooData leftSide"></div>

2 个答案:

答案 0 :(得分:2)

最好使用array而不是使用变量并评估其名称。

foo = [];
var foo[0] = $("<span class='fooClass'>Foo text1</span>");
var foo[1] = $("<span class='fooClass'>Foo text2</span>");

$('.fooData').each(function(i) {
    $(this).append(foo[i]);
});

答案 1 :(得分:0)

此脚本中几乎所有内容都是错误的。 each的索引以0开头,您没有定义变量foo0。除此之外,您还要将字符串附加到fooData元素,而不是您定义的变量。另外$('this')(再次字符串)将无效。