【发布时间】:2015-09-01 13:22:49
【问题描述】:
我希望能够在比赛前后选择整个单词...
目前它只选择单词中匹配的部分。所以如果我在"Doglets"这个词中照顾"Dog",它会选择Dog。
我希望它选择 Doglets。如果是这样的话,我也希望它选择letsDog。
return html.replace(new RegExp('(\\b)(' + query + ')(\\b)', 'ig'), "<span class='search-enlight'>$&</span>");
更新:
function filterSearchWords() {
var query = $("#searchquery").val();
go(query);
function go(query) {
$.extend($.expr[':'], {
'containsi': function (elem, i, match, array) {
return (elem.textContent || elem.innerText || '').toLowerCase()
.indexOf((match[3] || "").toLowerCase()) >= 0;
}
});
$(".search-result p:containsi(" + query + ")").html(function (_, html) {
return html.replace(new RegExp('(\\b)( \\w*' + query + '\\w*)(\\b)', 'ig'), "<span class='search-enlight'>$&</span>")
});
$(".search-result h2 a:containsi(" + query + ")").html(function (_, html) {
return html.replace(new RegExp('(\\b)( \\w*' + query + '\\w*)(\\b)', 'ig'), "<span class='search-enlight'>$&</span>")
});
console.log(query);
}
}
它现在匹配完整的单词,但是它不匹配大写字母,i 标志似乎不起作用
HTML:
div class="search-result">
<span class="thumb" style="font-family: 'draftit'; float: left;"></span>
<h2 class="title"><a href="/produkter/malins-testprodukt/skatteavdrag/berakning-av-skatteavdrag/skatteavdrag-nar-skattesedel-inte-har-lamnats/">Skatteavdrag när skattesedel inte har lämnats</a></h2>
<p>
Arbetsgivare får från Skatteverket besked om hur skatteavdraget för respektive anställd ska beräknas. Se avsnittet tabellavdrag och CSR-förfrågan . Arbetstagaren behöver då inte l...
</p>
</div>
【问题讨论】:
-
试试
/([^ ]*Dog[^ ]*)/ -
没有结果:/ @Lauromine
-
@Codehiker 请张贴html!
-
@chsdk 在第一篇文章中发布了 html!
-
p:containsi(" + query + ")必须是p:contains(" + query + ")包含后还有一个额外的i,不是吗?
标签: javascript jquery regex