我有一张桌子。每行都有一个data-date
属性。如果其中一行的值为“Training Day”,我想删除表中的所有其他行(隐藏它们)。
var table_a = $("table#day_1_ch_dis tbody tr").filter(function() {
return $(this).data("date") == "Training Day";
});
if (table_a.length > 0) {
$("table#day_1_ch_dis tbody tr:not([data-date='Training Day']").hide();
}
此代码到目前为止有效。我唯一担心的是它是否尽可能干净。我猜不是。这个编码的最佳方法是什么?
谢谢
你可能不需要filter()
if ($("#day_1_ch_dis tr[data-date='Training Day']").length) {
$("#day_1_ch_dis tr:not([data-date='Training Day'])").hide();
}
或使用siblings()
$("#day_1_ch_dis tr[data-date='Training Day']")
.siblings(":not([data-date='Training Day'])")
.hide()