Javascript 如何使匹配字符加粗+;使用jQuery令牌输入时为红色
我正在使用 我想让匹配的字符也变成红色,但无法找到他们拥有的CSS或Javascript片段Javascript 如何使匹配字符加粗+;使用jQuery令牌输入时为红色,javascript,jquery,html,css,jquery-tokeninput,Javascript,Jquery,Html,Css,Jquery Tokeninput,我正在使用 我想让匹配的字符也变成红色,但无法找到他们拥有的CSS或Javascript片段 他们的项目已启动。使用chrome开发者工具,我发现jquery tokeninput正在格式化搜索结果,如下所示: <ul style="display: block; overflow: hidden;"> <li class="token-input-dropdown-item2-facebook">Trad<b>in</b>g Spous
他们的项目已启动。使用chrome开发者工具,我发现jquery tokeninput正在格式化搜索结果,如下所示:
<ul style="display: block; overflow: hidden;">
<li class="token-input-dropdown-item2-facebook">Trad<b>in</b>g Spouses</li>
<li class="token-input-dropdown-item-facebook">T<b>in</b> Man</li>
</ul>
交易配偶
铁皮人
因此,它不是使用css类来突出显示匹配的字符,而是手动将这些字符放入
标记中。在javascript源文件中快速搜索后,我能够找到以下函数:
// Highlight the query part of the search term
function highlight_term(value, term) {
return value.replace(
new RegExp(
"(?![^&;]+;)(?!<[^<>]*)(" + regexp_escape(term) + ")(?![^<>]*>)(?![^&;]+;)",
"gi"
), function(match, p1) {
return "<b>" + escapeHTML(p1) + "</b>";
}
);
}
//突出显示搜索词的查询部分
函数项(值、项){
返回值.replace(
新正则表达式(
"(?![^&;]+;)(?!)(?![^&;]+;)",
“gi”
),功能(匹配,p1){
返回“+escapeHTML(p1)+”;
}
);
}
因此,我想这只是一个修改它的问题,以便能够定制匹配的字符样式。例如,您可以将返回字符串更改为:
return '<b class="match">' + escapeHTML(p1) + '</b>';
返回'+escapeHTML(p1)+'';
并将您的样式应用于b.matchcss类。您应该使用Chrome开发工具(内置于Chrome中)或Firefox Firebug扩展。您可以右键单击粗体文本和“检查元素”。这应该会显示它周围的span标记,以及它们使用的类,以及应用于它的CSS样式。我已经尝试过了,但我无法捕获元素。如果GUI妨碍您右键单击它(我想这就是您的意思),您可以查看页面源代码并找出名称所在的位置以及它包含的标记/类。我已经这样做了将近1个小时,但运气不佳,这就是我发布问题的原因。我使用的是resultsFormatter,它覆盖了所有HTML:`resultsFormatter:function(item){return