同一选择器上的多个.replace()似乎冲突
Multiple .replace() on same selector seems to be conflicting
我计划更改文本中关键字的颜色,并使用multiple.replacement()调用相同的元素。
var $hotPinkList = [
"html",
"head",
"title",
"body",];
for (i = 0; i < $hotPinkList.length; i++) {
$("code").html(function (_, html) {
var rep = $hotPinkList[i];
var regex = new RegExp(rep, 'g');
return html.replace(regex, '<span style="color:#f92772;">' + $hotPinkList[i] + '</span>');
});
}
和
$('code').html($('code').html().replace(/3noClr/g, '').replace(/".*?"/g, '<span style="color:red;">$&</span>'));
似乎以一种奇怪的方式相互冲突。style="color:#f92772;"被添加到字符串中,当它们组合时,不会被视为html命令
这样可以:http://jsfiddle.net/D2vQ6/
这样可以:http://jsfiddle.net/vQdg7/
但是这不起作用:http://jsfiddle.net/uE8qa/
正则表达式/".*?"/
与for
循环中创建的<span style="color:#f92772;">
中的引号匹配,因此替换将其转换为<span style=<span style="color:red;">"color:#f92772;"</span>>
。这不是有效的HTML。
您可能需要将替换项限制为文本节点,而不是HTML标记。
相关文章:
- Javascript-ID冲突的几率
- 导致内容安全策略(CSP)冲突错误的本地jquery.js文件
- 替换变量时,JavaScript字符串replace()不起作用
- Pg承诺性能提升:在冲突中
- 数据与Javascript中的继承冲突
- Angular ng控制器与ng应用程序冲突
- Javascript 如何强制 string.replace 不将我的字符串解释为正则表达式
- 如何在做PHP时在base64中动态编码;preg_ replace”;
- 返回按钮代码段的Jquery冲突
- 调试一个简单的jQuery函数;想知道是否与其他代码冲突
- 使用JavaScript和HTML5画布进行冲突检测
- javascript对象原型与jquery冲突
- jQuery与导航菜单上的mouseover事件冲突.
- 我使用了replace(“[^-A-Za-z0-9()%.],但它为'我可以解决这个错误吗
- Javascript滑块不滑动,如何判断是否存在JS冲突
- Regex Replace仅适用于Last Match
- Bing语音和Bing地图在Windows 8应用商店应用程序中冲突
- toFixed and replace dons'这似乎奏效了
- Replace()产生“;未捕获的类型错误:未定义的不是函数“;当与零一起使用时
- 同一选择器上的多个.replace()似乎冲突