在搜索中突出显示关键字会破坏URL变量的传递?

时间:2013-10-23 22:16:20

标签: javascript html asp.net

以下代码是我用来突出显示关键字的javascript函数的一部分:

        for (var i = 0; i < keywords.length; i++)
        {
            var a = new RegExp(keywords[i], "igm");
            container.innerHTML = container.innerHTML.replace(a, "<span style='background:#FF0;'>" + keywords[i] + "</span>");    
        }
实际上,在允许用户单击结果的同时突出显示搜索结果中的单词。当用户单击结果并将其传输到包含更多详细信息的页面时,会出现问题。在URL变量中间的Smack是'span'标记。

        details.aspx?id=2<span style='background:#FF0> /<span>&name=..

这反过来会阻止我的详细信息页面被正确填充。如果我注释掉问题行并使用下面的代码,变量会顺利通过,但关键字不会突出显示:

             container.innerHTML = container.innerHTML.replace(a keywords[i] );

我的问题是如何从网址中删除span标记,以便我的变量顺利传递并且关键字仍然突出显示?

1 个答案:

答案 0 :(得分:0)

因为您正在对字符串进行文本搜索,并且您的代码与标记内的属性匹配。您无法进行简单的查找和替换,也不应使用正则表达式来匹配标记。