Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/384.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
有没有办法使用javascript或jquery向搜索关键字添加颜色_Javascript_Jquery - Fatal编程技术网

有没有办法使用javascript或jquery向搜索关键字添加颜色

有没有办法使用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>'); 在上面的搜索关键字是无政府之子。现在,有没有一种方法可以在搜索结果页面上使

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>');
在上面的搜索关键字是
无政府之子
。现在,有没有一种方法可以在搜索结果页面上使用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'] .'"'; ?>