0

通常のページで検索用語を見つけるためのライブラリとプラグインがたくさんありますが、それらは ajax 応答コンテンツ内の文字列の強調表示を処理するように書かれていません。たとえば、私が見つけた多くのスクリプトは、次のようにメイン関数を呼び出します。

`returnDataSearchTermHighlightified = highlight(searchString);`

(^^^で受け入れられた回答から:検索用語を強調表示する (葉ノードのみを選択) )

...そのhighlight()関数の欠落している 2 番目のパラメーターには、ページの HTML 本文全体が自動入力されます。しかし、私の場合、親本文のキーワードを強調表示するのではなく、ajax 応答コンテンツ (親本文に入力する div) のみで強調表示したいので、たとえば次のことはできません。

returnDataSearchTermHighlightified = highlight(searchString);

...そして、これを試してみると:

...
var jqxhr = $.ajax(

        {
            type: 'POST',
            url: ajaxWorkerSourceUrl,
            data: form_data,
            timeout: 15000
        }
    )
    .success(function(returnData) {
        $("#ajaxSpinner").fadeOut('slow');
        searchString = 'example';
        returnDataSearchTermHighlightified = highlight(searchString, returnData);

...その後、ページはエラーなしで ajax 応答をロードするように見えますが、その応答コンテンツは空です! 誰でもこれを修正するように教えてもらえますか? ..またはjquery ajax応答コンテンツでキーワードの強調表示を処理するように設計されたライブラリまたはプラグインにさえ?

ありがとう!

4

1 に答える 1

1

タイプ Element または jQuery であるfunction highlight(term, base)必要があるようです。base

試す

.success(function(returnData) {
        $("#ajaxSpinner").fadeOut('slow');
        var searchString = 'example',
            base = $(returnData);
        highlight(searchString, base);
        base.appendTo(document.body); //whatever you were going to do..
于 2013-01-15T09:59:33.830 に答える