我在.js文件中编写了一个简单的代码(在Zend框架中,但我不认为这很重要)
var location = "localhost:8080/mymodule/id/1#";
location.replace(/\#/g, "");
alert(location.valueOf());
return;
但我不知道为什么我看不到我想要的结果。 我得到我的页面网址,并希望省略所有数字标记。但上面的代码什么也没做。 请帮忙
答案 0 :(得分:6)
location
是一个用于变量的错误名称,因为它与用于实际浏览器页面位置的window.location
变量发生冲突。
如果您在上述代码中将location
更改为loc
,然后在loc =
来电之前添加loc.replace()
(因为replace()
没有'修改输入,但改为返回新版本),你的代码可以工作。
答案 1 :(得分:6)
replace
不会更改原始字符串的值,您需要将结果分配给新变量 -
var newString = location.replace(/#/g, "");
alert(newString);
答案 2 :(得分:2)
可以在一行中完成。这是你要找的结果吗?
alert("localhost:8080/mymodule/id/1#".replace(/#/g,''));
//=> alerts 'localhost:8080/mymodule/id/1'