如何使替换代码工作
How do I make my replace code work?
我正在尝试制作一个基本的替换代码,每次都替换匹配项。
(function($) {
$.fn.replace = function(obj) {
var a = $(this).html();
for (var i in obj) {
$(this).html(a.replace(i, obj[i]));
}
};
$('#myDiv').replace({
':')': '<img src="http://bit.ly/dbtoez" />'
});
})(jQuery);
但它不起作用。此外,当我将更多属性放入对象中以替换div 时,它不起作用。img 元素是一个笑脸。
你基本上扔掉了所有的替代品,除了最后一个。修改循环中的a
并在最后更新 HTML:
var a = $(this).html();
for (var i in obj) {
a = a.replace(new RegExp(i, 'g'), obj[i]);
}
$(this).html(a);
小提琴:http://jsfiddle.net/iambriansreed/kCtLh/
(function($) {
$.fn.replace = function(obj) {
var a = $(this).html();
for (var i in obj){
a = a.replace(new RegExp(i.replace(/([.?*+^$[']''(){}|-])/g, "''$1"), "g"), obj[i]);
}
return $(this).html(a);
};
})(jQuery);
$('#myDiv').replace({
':)': '<img src="http://bit.ly/dbtoez" />'
});
最终版本。它为您转义了所有字符。:)
相关文章:
- 代码只能在jsfiddle中工作
- 为什么不是'我的函数在解析云代码中工作吗?当我在Angular和Express中测试时,它是有效的
- 谷歌地图Api和JS代码不工作
- 如何检查这个代码点火器php函数是否工作,该函数是否在ajax url中使用
- 为什么这个代码不能正常工作
- Don't工作警报代码jQuery
- addEventListener的Javascript代码不工作!?(单击时打开放大的img)
- 我需要一个jQuery函数来只工作在700px以上的屏幕大小,无法在我的代码中发现错误
- 这个jquery代码是如何工作的
- 代码在angular中未按预期工作
- JavaScript代码未按预期工作
- 为什么jQuery代码段在没有IFrame的情况下可以工作,而在有IFrame时却不能工作
- 谷歌地图自动完成,即使使用工作代码也无法工作
- 需要 RepeatBox 及其行单击事件的工作代码才能在 smartface.io 中跳转到相应的页面上
- 任何人都可以指出我的工作代码或完整的概念图,用于 Angular2 中的 ViewMetadata
- 为什么我可以'不要对这个工作代码进行jsFiddle处理
- 工作代码带来错误addEventListener不是一个函数
- 需要修改此工作代码以在新窗口/选项卡中打开
- jQuery:如何计算和显示列的总和(部分工作代码)
- D3js缩放/拖动在我的代码中不再工作(+代码示例)