如何使用CSS为jQuery表中的每一行设置不同的图像

时间:2019-08-16 23:01:27

标签: jquery css image html-table

我有一个使用jQuery创建表的外部文件。 我想出了如何在css中将背景图像设置为td属性,但是由于表有4行,因此每行中的每个单元格都获得相同的图像。 我希望每一行都有不同的图像(但该行中的每个单元格都相同)。 最终,我希望每个图像都是可单击的,并运行一个将变量传递给该函数的函数,但我仍在努力之中(到目前为止收效甚微)。

这是表格:

var $table = $('<table>');
$table.append()

//tbody
var $tbody = $table.append('<tbody />').children('tbody');

// add row
$tbody.append('<tr />').children('tr:last')
.append("<th>Clear</th>")
.append("<td></td>")
.append("<td></td>")
.append("<td></td>")
.append("<td></td>")
.append("<td></td>")
.append("<td></td>")
.append("<td></td>");

// add another row
$tbody.append('<tr />').children('tr:last')
.append("<th>Earlies</th>")
.append("<td></td>")
.append("<td></td>")
.append("<td></td>")
.append("<td></td>")
.append("<td></td>")
.append("<td></td>")
.append("<td></td>");

// add another row
$tbody.append('<tr />').children('tr:last')
.append("<th>Lates</th>")
.append("<td></td>")
.append("<td></td>")
.append("<td></td>")
.append("<td></td>")
.append("<td></td>")
.append("<td></td>")
.append("<td></td>");

// add another row
$tbody.append('<tr />').children('tr:last')
.append("<th>Double</th>")
.append("<td></td>")
.append("<td></td>")
.append("<td></td>")
.append("<td></td>")
.append("<td></td>")
.append("<td></td>")
.append("<td></td>");

// add table to dom
$table.appendTo('#dynamicTable');

});

这是CSS:

#dynamicTable td {
    background-image: url(../images/clear_32px.gif); 
}

1 个答案:

答案 0 :(得分:2)

您可以使用css伪nth-child https://developer.mozilla.org/de/docs/Web/CSS/:nth-child

E.G。:

#dynamicTable tr:nth-child(1) td {
    background-image: url(../image1.gif); 
}
#dynamicTable tr:nth-child(2) td {
    background-image: url(../image2.gif); 
}
#dynamicTable tr:nth-child(3) td {
    background-image: url(../image3.gif); 
}
#dynamicTable tr:nth-child(4) td {
    background-image: url(../image4.gif); 
}