0

inbox に入力されたテキストを強調表示したいと思います。テーブルの列 td で見つかった場合は強調表示し、そうでない場合は強調表示を削除します。

これが私のコードのフィドルです: http://jsfiddle.net/rFGWZ/6/、テキスト入力を入力しようとすると、2行のみが表示され、表示されているそれぞれ21を選択したいと思いますこれは、入力に入力されたテキストです。21td

Web に投稿された多くのハイライト スクリプトを試しましたが、これはライブ クエリ検索であるため、要素を実際にローカライズできないため、どれも機能しないようです...

4

2 に答える 2

2

ハイライトされた文字のみを含むスパンを作成する必要があります。このコードをお勧めします:

    $("テーブル tr").each(関数(インデックス) {
        もし (インデックス !== 0) {

            $row = $(これ);
            var firstCell = $row.children("td:first");

            var id = $row.children("td:first").text();
            if (id.indexOf(value) !== 0) {
                $row.children("td:first").text(id);
                $row.hide();
            }
            そうしないと {
                firstCell.html($("").addClass("highlight").text(id.slice(0, value.length)));
                firstCell.append(id.slice(value.length, id.length));
                $row.show();
            }
        }
    });

.highlightCSS でルールをカスタマイズすることを忘れないでください。

生で見よう

于 2012-09-15T11:05:23.833 に答える
0

このような..??

if (id.indexOf(value) !== 0) {
            $row.hide();

        }
        else {
            $row.show();
            $row.css("color","red");
        }
于 2012-09-15T11:06:11.200 に答える