我已经做了好几天了,我似乎无法收支平衡。我有一个表格,它在其中一个单元格中显示一系列链接 - 最后一个单元格。现在单击时,最后一个链接中的文本值会发生变化(使用 jsf ajax 实现),以反映它所在行的状态,从“暂停”到“恢复”,反之亦然。每当加载文档并且文本链接显示为“恢复”时,我都使用 jQuery 来更改行的背景颜色。请参阅下文,了解我是如何实现这一点的
var defaultval;
$(" table tbody tr td:nth-child(7)").each(function() {
defaultval = $(this).find("a:nth-child(4)").html();
if (defaultval == "resume") {
$(this).parents("tr").addClass("suspended")
}
});
现在我希望每当单击链接并且其文本值更改为“恢复”时更改此行背景颜色,所以我在下面编写了 JQuery 代码
$("table tbody tr td:nth-child(7) ").click(function() {
if ($(this).find("a:nth-child(4)").html() !== "resume") {
$(this).parents("tr").addClass("suspended");
}
else {
$(this).parents("tr").removeClass("suspended");
}
});
当我单击链接时,它似乎起作用了。但问题是,当单击单元格本身和单元格内的其他链接时,它会发生变化,而链接的文本不会因为上面的实现而改变。当我这样做时:
$("table tbody tr td:nth-child(7) a:nth-child(4)").click(function() {
if ($(this).html() !== "resume") {
$(this).parents("tr").addClass("suspended");
}else {
$(this).parents("tr").removeClass("suspended");
}
});
它会更改一次,并且不会随着进一步的点击而变回。现在我想将此效果限制为仅在单击此链接时。感谢您期待您的回复。