有没有办法使用javascript或jquery向搜索关键字添加颜色
url如下所示:有没有办法使用javascript或jquery向搜索关键字添加颜色,javascript,jquery,Javascript,Jquery,url如下所示: http://www.example.com/index.php?main_page=advanced_search_result&keyword=Sons+of+Anarchy document.body.innerHTML = document.body.innerHTML.replace(/Anarchy/ig, '<mark>Anarchy</mark>'); 在上面的搜索关键字是无政府之子。现在,有没有一种方法可以在搜索结果页面上使
http://www.example.com/index.php?main_page=advanced_search_result&keyword=Sons+of+Anarchy
document.body.innerHTML = document.body.innerHTML.replace(/Anarchy/ig, '<mark>Anarchy</mark>');
在上面的搜索关键字是无政府之子
。现在,有没有一种方法可以在搜索结果页面上使用js在搜索结果内容中为关键字添加颜色。多谢各位
ps:搜索输入框:
上面的方法是在url中添加一个参数
http://www.example.com/index.php?main_page=advanced_search_result&keyword=Sons+of+Anarchy&pfrom=...pto=..
尝试以下操作(假设您正在将jQuery加载到页面中):
myFile.php
==========
//获取当前URL
var url=window.location.toString();
//获取参数
匹配(/\?(.+)$/);
var params=RegExp.$1;
//拆分查询字符串并存储在
//关联数组
var参数=参数拆分(&);
var queryStringList={};
对于(var i=0;i您可以这样做:
http://www.example.com/index.php?main_page=advanced_search_result&keyword=Sons+of+Anarchy
document.body.innerHTML = document.body.innerHTML.replace(/Anarchy/ig, '<mark>Anarchy</mark>');
document.body.innerHTML=document.body.innerHTML.replace(/Anarchy/ig,'Anarchy');
我想你想要的是这样的东西
如果您正在搜索可能在html标记中的内容,例如span,则解决方案不会弄乱您的html
搜索键将被转义以生成正确的reg exp对象
代码:
var searchKey='rray($”;
突出显示(搜索键,$('div'));
searchKey='| |!';
突出显示(搜索键,$('div'));
功能突出显示(word,$target){
var conts=$target.html().split(“”);
var-escapeRgx=/([\/\.\*\+\?\\\\;\(\)\[\]\{\\\\\\\:\$\^)g;
var searchRgx=newregexp(word.replace(escapeRgx,\\\$1'),'gi');
$。每个(续,函数(idx,str){
如果(str.charAt(0)!=”;
}
});
$target.html(conts.join(“”));
}
要获取搜索键,您可以在后端检索它,并将其回显到前端。即
<? echo 'var searchKey = "'. $_GET['key'] .'"'; ?>
这是演示-
等等,我的答案没有完全回答你的问题。让我修改一下:)你能告诉我你在哪里处理服务器的响应吗?好的,我现在有个好主意可以帮你。我只需要澄清几件事:1。)当用户获得搜索结果时,您是想加载带有搜索结果和关键字颜色的新页面,还是只是返回文本放回当前页面?2.)在您的程序上下文中,pfrom
和pto
意味着什么?3.)您使用什么方法将带有关键字的url发送到服务器?1,搜索结果显示在另一页上。2、返回包含搜索关键字的文本为彩色。我只是举个例子。我现在已经更新了我的答案。它假设您正在使用jQuery。很抱歉,我不知道如何使用您的代码。如果:搜索输入框:我该怎么办?非常感谢。
<? echo 'var searchKey = "'. $_GET['key'] .'"'; ?>