テーブル列の検索で常に最初の行とその後の一致する行が表示される理由を理解するのが難しいですか?キーワードは行1のセルと一致しませんが、常に上に表示されますか?私は何度も自分のコードを見てきましたが、最初の行を隠していない別のアプローチを試みましたか?テーブル内の最初の行が隠れていないJQuery検索
は、ここに私の作業コード
$('#filterbyname').on("keyup", function() {
var val = $(this).val();
var matches = $("table.bill tr:not(:first-of-type)");
matches.each(function (i,e) {
debugger;
$row = $(this);
$cells = $row.find("td:nth-child(2)");
$cells.each(function (i2, e2) {
var cell = $(this).text();
debugger;
$row.toggle(cell.indexOf(val) >= 0);
});
});
});
cell.indexOf(val) >= 0)
は、それが一致する行を応じて切り替えることができます場合は、上記のコードから見ることができます。
お願いします。あなたは彼らが彼らの親の最初の子ではないことを意味し、:not
セレクタはここ:first-of-type
に一致するすべての要素を除外しているため、すべての行は、最初のものを期待して選択するtr:not(:first-of-type)
を使用して、そうしているあなたのmatches
変数で実際に
それはTR 'によるものです(:第一の型)'。 –