在循环中附加CSS

时间:2013-04-27 08:38:44

标签: javascript jquery css

我试图在某些文字中添加不同的颜色:

var s = ["red", "green"];   
for (i=0; i < s.length; i++) {
    $(".colors").append("<span>TEXT </span>").css("color", s[i]);
}

两个跨度的输出都是绿色,但我的意图是第一个是红色,只有第二个是绿色。我做错了什么?

1 个答案:

答案 0 :(得分:7)

那是因为append返回所选元素而不是附加元素,因此您要修改.colors元素的颜色而不是附加元素,最后颜色获胜和后代元素继承颜色属性。

$("<span>TEXT</span>").css("color", s[i]).appendTo(".colors");