Vanilla JS,无法替换从DOM

时间:2018-06-04 18:08:11

标签: javascript string dom replace

我尝试替换字符串中\的所有出现,但即使在网上和此处搜索,我也找不到方法。

这就是我的尝试:

$ node
> var x = 'foo\bar\base'
> x.replace(/\\/g, '/');
'foo\bar\base'

我希望foo/bar/base但字符串不变。

split()相同:

> x.split('\\')
[ 'foo\bar\base' ]

上下文:这是来自DOM,我用

获取此字符串
var node = document.querySelector(sel);
node.innerText.replace(/\\/g, '/');

编辑我的尝试与我在真实浏览器中可以拥有的内容之间存在混淆,请查看@ {3}}中的@Jeffrey Westerkamp评论

2 个答案:

答案 0 :(得分:3)

转义原始字符串中的反斜杠:

var x = 'foo\\bar\\base'

解释:\是默认转义字符 - 在原始字符串中,每个\b对都是退格 - 要在字符串文字中包含反斜杠,您需要将其转义,即{ {1}}

答案 1 :(得分:0)

我找到了解决方案:

node.innerText.split('\\').join("/")