【发布时间】:2013-01-15 17:59:33
【问题描述】:
我看到很多用于在常规页面中查找搜索词的库和插件,但它们并不是用来处理突出显示 ajax 响应内容中的字符串的。例如。我发现很多脚本都会调用主函数,例如:
`returnDataSearchTermHighlightified = highlight(searchString);`
(^^^ 来自接受的答案:Highlight search terms (select only leaf nodes))
...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 响应内容中的关键字突出显示的库或插件?
谢谢!
【问题讨论】:
-
也许使用
async:true可以解决问题 -
你在哪里使用
returnData? -
应该可以正常工作,只要您的功能正常工作并且您将
returnDataSearchTermHighlightified插入到 DOM 中 -
您也可以在 html 响应中使用 jQuery,方法是将其包装在
$() -
我相信
highlight(searchString, $(returnData))会成功的。
标签: jquery highlighting