0

下面的代码是我用来突出显示关键字的 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 变量中间的是“span”标签。

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

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

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

我的问题是如何从我的 URL 中删除 span 标签,以便我的变量顺利传递并且关键字保持突出显示?

4

1 回答 1

0

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

于 2013-10-23T22:20:44.393 回答