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

Posted

技术标签:

【中文标题】如何使用 CSS 为 jQuery 表中的每一行设置不同的图像【英文标题】:How to Set a Different Image for Each Row in a jQuery Table using CSS 【发布时间】:2019-12-23 05:05:11 【问题描述】:

我有一个使用 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); 

【问题讨论】:

我想我需要以某种方式使用类?尤其是当我打算为单行中的每个 td 使用相同的 id 时。我只是读到不要使用它,而是使用类(我想我读对了)。 【参考方案1】:

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

例如:

#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); 

【讨论】:

非常感谢。效果很好。

以上是关于如何使用 CSS 为 jQuery 表中的每一行设置不同的图像的主要内容,如果未能解决你的问题,请参考以下文章

是否可以在不循环的情况下为 iSeries 表中的每一行生成唯一的数值?

使用 jQuery 检索表中的上一行和下一行

如何将表中的每一行与所有行进行比较?

jQuery - 检查空输入有效,但只检查表中的第一行

如何使用 *CSS2* 而不是 CSS3 选择 HTML 表格中的每一行? [复制]

在 Node.js 中为 postgres 表中的每一行以不同的间隔为每一行运行重复任务