以下代码是我用来突出显示关键字的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标记,以便我的变量顺利传递并且关键字仍然突出显示?
答案 0 :(得分:0)
因为您正在对字符串进行文本搜索,并且您的代码与标记内的属性匹配。您无法进行简单的查找和替换,也不应使用正则表达式来匹配标记。