0

我看到很多用于在常规页面中查找搜索词的库和插件,但它们并不是为了处理突出显示 ajax 响应内容中的字符串而编写的。例如,我发现许多脚本调用主函数,例如:

`returnDataSearchTermHighlightified = highlight(searchString);`

(^^^ 来自接受的答案:突出显示搜索词(仅选择叶节点)

...该highlight()函数缺少的第二个参数会自动填充页面的整个 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

似乎function highlight(term, base)需要base是 Element 或 jQuery 类型。

尝试

.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 回答