1
我已经翻遍左右替换文本,并发现了一些有用的帖子做查找/查找/替换,jQuery的发现和基于键值对对象
,但我可以”弄不明白的工作,
这里是网站的测试网址:
http://www.larryadowns.com.php5-1.dfw1-2.websitetestlink.com/
,你可以看到,这是一个博客饲料与岗位信息。我试图定位日期月份,并进行搜索并替换每个放入西班牙语月份。
这里的JavaScript中,这一切都包裹在一个jQuery(文件)。就绪()...
var monthMap = {
"January" : "Enero",
"February" : "Febrero",
"March" : "Marzo",
"April" : "Abril",
"May" : "Mayo",
"June" : "Junio",
"July" : "Julio",
"August" : "Agosto",
"September" : "Septiembre",
"October" : "Octubre",
"November" : "Noviembre",
"December" : "Diciembre"
};
// sift thru the post-info, replacing only the month with the spanish one.
$(".post-info .date").text(function(index, originalText) {
var moddedText = '';
for (var month in monthMap) {
if (!monthMap.hasOwnProperty(month)) {
continue;
}
moddedText = originalText.replace(month, monthMap[month]);
// moddedText = originalText.replace(new RegExp(month, "g") , monthMap[month]);
console.log("month : " + month);
console.log("monthMap[month] : " + monthMap[month]);
}
console.log('-------------------');
console.log('index : ' + index);
console.log("monthMap : " + monthMap);
console.log("originalText : " + originalText);
console.log("moddedText : " + moddedText);
return moddedText;
});
但很可惜,无论是.replace或与正则表达式的.replace真的取代任何东西。 我哪里错了? ty再次堆叠。
最优秀。非常感谢Goran。解决了。 很高兴知道为什么,如果有人有这样的答案,就会有 。 但无后顾之忧。 – joelrnorris 2012-07-09 16:27:44
没问题,很高兴我能帮到你。其实,现在我喝了咖啡,看起来很明显。因为它正在遍历所有月份(即使在成功匹配之后),“originalText”覆盖了早先成功替换的“moddedText”。因此,为什么只有十二月工作,因为它没有以下几个月。 – 2012-07-09 16:44:52
辉煌!这就说得通了。没有什么比第二组眼睛... – joelrnorris 2012-07-09 17:21:38