Jam*_*mes 0 javascript regex jquery replace
例如:有一个页面列出了一些带颜色的项目.有些被列为Nav,有些被列为海军.
$('.ProductDetails a').each(function() {
var text = $(this).text();
$(this).text(text.replace("Nav", "Navy"));
});
Run Code Online (Sandbox Code Playgroud)
将导致所有'导航'改为海军 - 太棒了!
但它也将导致'海军'改为海军.(即它将海军中的'nav'替换为海军,并在'nav'被替换后留下'y')
有没有办法使用上面的技术来阻止这种情况,或者我必须更改脚本以解决这些双重问题.
我目前的解决方案是在Nav之后添加一个空格 $(this).text(text.replace("Nav ", "Navy"));
但这并不理想,因为有些物品可能有一个/后面没有空间.
$('.ProductDetails a').each(function() {
var text = $(this).text();
$(this).text(text.replace(/^Nav$/g, "Navy"));
});
Run Code Online (Sandbox Code Playgroud)
要么:
$(this).text(text.replace(/\sNav\s/g, "Navy"));
Run Code Online (Sandbox Code Playgroud)
要么:
$(this).text(text.replace(/\bNav\b/g, "Navy"));
Run Code Online (Sandbox Code Playgroud)
还有很多其他方法......
请注意,您可以使用此text重载:
$('.ProductDetails a').text(function(index, old) {
return old.replace(/\sNav\s/g, "Navy");
});?
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
136 次 |
| 最近记录: |