【问题标题】:How to replace the folder of my url with javascript?如何用javascript替换我的url文件夹?
【发布时间】:2012-12-11 21:30:51
【问题描述】:

我在这里阅读了很多关于使用 jQuery 更改网站语言的答案,但对我没有任何帮助。

嗯,我有一个网站作为例子:www.domain.com 在里面我有语​​言的文件夹。 /en/ 英文页面,/el/ 希腊文页面。 英语和希腊语的所有页面都相同。 index.html、gallery.html

我在右上角的标题页中有两个标志图标来更改语言。 我希望,当用户点击英国国旗时,转到/en/page.html,当用户点击希腊国旗时,转到/el/page.html

<script>
$(document).ready(function(){
   $('a').click(function() {
            document.location.href =document.location.href.replace('/el/' '/en/');
      });
    });
</script>

这是我的 html 代码:

<head>
<a href="javascript:;"><img src="../images/flagen.gif"></a>
</head>

在这个例子中,我在希腊页面 rootwww/el/index.html 我想用 /en/ 文件夹路径替换 /el/ 并转到 /en/index.html

我做错了什么?

【问题讨论】:

    标签: javascript jquery html


    【解决方案1】:

    替换方法中缺少逗号。将其更改为:

    <script>
    $(document).ready(function(){
       $('a').click(function() {
                document.location.href = document.location.href.replace('/el/','/en/');
          });
        });
    </script>
    

    这应该可行。

    【讨论】:

    • 非常感谢,我不知道逗号对于替换方法很重要。
    • 确实如此。语法为string.replace(searchval,replaceval)。您还可以使用正则表达式进行搜索。有关示例,请参阅w3schools.com/jsref/jsref_replace.asp
    • 顺便说一句,逗号并不是“替换方法很重要”,逗号在方法调用中分隔参数很重要,替换方法有两个参数,要替换的内容和新的价值。所以这两个应该用逗号分隔,因为这两个是替换方法的参数。
    【解决方案2】:

    您是否忘记了“替换”中的逗号,或者这对您来说是否正常? 而且你不需要写两次“document.location.href ....”

    我建议使用以下代码进行测试

    $(document).ready(function(){
       $('a').click(function() {
                var str = document.getElementById('a').document.location.href;
                var newPath= str.replace("/el/","/en/");
                document.location.href =newPath;
          });
        });
    

    【讨论】:

      猜你喜欢
      • 2018-10-11
      • 1970-01-01
      • 2012-11-20
      • 2021-08-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-02
      • 2011-08-26
      相关资源
      最近更新 更多