我正在尝试检查我的表列,如果列包含“NA”值,那么我需要隐藏表行。
这是我试过的JS代码。
$("table tr td:nth-child(2)").contains("NA", function (){
("table tr").hide();
});
这个表格如下:
Opti_Mi_Learning_Linear_Pro: 2
Opti_Mi_Learning_Quadratic_Pro: 1
Opti_Mi_Learning_Integer_Pro: na
Opti_Mi_Learn: 1
Opti_Mi_Learn_Evolu_Algo: na
Opti_Mi_Lear_Neural_Networks: na
有人可以帮我纠正我的代码吗?
答案 0 :(得分:2)
您可以使用contains selector。像这样:
$('table td:nth-child(2):contains("na")').parent().hide();
请注意,选择器区分大小写,因此您必须在正确的大小写中添加“na”。
答案 1 :(得分:1)
您想获取元素的文本,然后使用字符串检查,例如:
if ($("table tr td:nth-child(2)").text().indexOf("NA") !== -1) {
// ...it contains NA, possibly with text before and/or after...
}
或
if ($("table tr td:nth-child(2)").text() === "NA") {
// ...it's *exactly* the text "NA" ...
}
上述两项检查都区分大小写。要使它们不区分大小写,只需将.toUpperCase()
放在.text()
之后。
答案 2 :(得分:1)
一种方法是使用.filter()
:
$("table tr").filter(function () {
return $.trim( $(this).find("td:nth-child(2)").text() ) === "NA";
}).hide();