for (var i = 0; i < colors.length; i++) {
str += "<span class='ecolor' style='background-color:'" + colors[i] + "' title='" + colors[i] + "'></span>";
}
正しい書き順は?style='background-color:'" + colors[i] + "'
そのため、背景色で適切にレンダリングされます。現在、動作していません`