根据点击更改网址

时间:2012-10-15 12:12:23

标签: javascript jquery html

我想在特定的html页面添加语言切换器。我不需要任何语言文本,只需要根据点击更改指向其他网站的链接。 在这里创建三个html页面只是为了处理一些链接更改没有多大意义,但我的jquery技能并不是那么好。

目标结构如下所示:

<ul>
<li><a  class="clickButton" href="folder1/firstLink/Languages/English/folder/index.html">Index Link</a></li>
<li><a  class="clickButton" href="../folder2/secondLink/Languages/English/folder/index.html">A different Link </a></li>
<li><a  class="clickButton" href="../../folder3/Languages/English/folder/index.html">Another different link</a></li>

<ul>

<ul>
<li><a  class="clickButton" href="folder1/firstLink/Languages/Spanish/folder/index.html">Index Link</a></li>
...
<ul>

正如您所看到的,我只需要用西班牙语替换语言名称(“英语”),以使链接起作用。 所以我认为用户点击了相应的标志,并且url字符串也相应地发生了变化。

我会很高兴看到如何切换语言名称的一些例子

2 个答案:

答案 0 :(得分:1)

HTML:

<a data-lang="Spanish">To Spanish</a>
<a data-lang="Russian">To Russian</a>

JavaScript的:

var current = "English"
$("[data-lang]").on("click", function() {
    var lang = $(this).data("lang");
    $(".clickButton").prop("href", function(i, href) {
        return href.replace(current, lang);
    });
    current = lang;
});

DEMO: http://jsfiddle.net/a2xqL/

答案 1 :(得分:1)

让自己轻松一点:为链接添加自定义数据属性;

<a data-lang="English" href="">

$link.data('lang');使用jQuery访问它并将其添加到href。