我已经使用 javascripts 动态创建了 HTML 表,现在我想为每一行应用不同的颜色。我该怎么做?
user2898127
问问题
1619 次
4 回答
1
这会做
$("tr:even").css("background-color", "#eeeeee");
$("tr:odd").css("background-color", "#ffffff");
或以下
$(function(){
$('#table1 tr:odd').addClass('A');
// for even
$('#table1 tr:even').addClass('B');
});
于 2013-10-21T07:11:18.020 回答
1
您可以通过以下方式之一实现此目的:css 或 javascript:
javascript方法(我建议包括jQuery):
<script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script>
<script type="text/javascript">
function get_random_color() {
var letters = '0123456789ABCDEF'.split('');
var color = '#';
for (var i = 0; i < 6; i++ ) {
color += letters[Math.round(Math.random() * 15)];
}
return color;
}
// paint rows on document ready
$(function(){
paint_rows();
});
function paint_rows() {
$('#table_id tr').each(function(){
$(this).css('color', get_random_color());
});
}
</script>
只需确保在数组中添加足够的颜色值colors
(也可以使用十六进制值)。
paint_rows()
而且,您当然可以在需要时调用该函数。
或者,您可以使用css方法:
<style type="text/css">
#table_id tr:nth-child(1){color:blue;}
#table_id tr:nth-child(2){color:red;}
#table_id tr:nth-child(3){color:orange;}
/* etc... */
</style>
但我总是更喜欢 javascript。
然而!
如果您只想每隔一行上色并在两种颜色之间切换(例如:一种黑色、一种蓝色、一种黑色、一种蓝色等),请使用以下css:
#table_id tr{color:black;}
#table_id tr:nth-child(even){color:blue;}
希望有帮助。
于 2013-10-21T07:12:25.487 回答
0
您可以执行以下操作:
var tbl = document.getElementsByTagName("table")[0].style.border = "1px solid red";
td1 = document.getElementsByTagName("tr")[0].style.color = "red";
td2 = document.getElementsByTagName("tr")[1].style.color = "blue";
于 2013-10-21T07:18:17.330 回答
0
在构建行时,为它们分配一个类名。例如,如果您想实现斑马条纹,您可能有一个在添加行时递增的计数器。然后检查计数器是否具有奇数或偶数值,并将表示该值的类名添加到刚刚添加的相应行。然后在你的CSS中你可以做类似的事情,
.odd{
/*set background color*/
}
.even{
/*set background color*/
}
于 2013-10-21T07:14:08.290 回答