用javascript添加更改语言按钮不工作

add change language button with javascript is not working

本文关键字:按钮 工作 语言 javascript 添加      更新时间:2023-09-26

我的javascript代码:

var footer = document.getElementsByTagName('footer');
for (var i = 0; i < footer.length; ++i) {
    var appendTo = footer[0].getElementsByTagName('p'); //get only the p in the first footer to select
    if(language.indexOf('nl') <= -1 && location.href.indexOf("/") >= 0 && location.href.indexOf("/en/") <= -1) {
        for (var i = 0; i < appendTo.length; ++i) {
            appendTo[0].innerHTML += '<div class="language item switch en"><a href="/en/">english</a></div>';
        }
    } else if(language.indexOf('nl') == 0 && location.href.indexOf("/en/") >= 0 ) {
        for (var i = 0; i < appendTo.length; ++i) {
            appendTo[0].innerHTML += '<div class="language item switch nl"><a href="/">nederlands</a></div>';
        }
    } else {}
}

我没有得到任何控制台错误。我想添加一个"更改语言"按钮,当用户不是在正确的语言网站。我的代码哪里出错了?

变量language未在函数中定义。如果你声明它,它似乎工作得很好。

var language = window.navigator.userLanguage || window.navigator.language;
language = language.split("-");
    var footer = document.getElementsByTagName('footer');
    for (var i = 0; i < footer.length; ++i) {
        var appendTo = footer[0].getElementsByTagName('p'); //get only the p in the first footer to select
        if(language.indexOf('nl') <= -1 && location.href.indexOf("/") >= 0 && location.href.indexOf("/en/") <= -1) {
            for (var i = 0; i < appendTo.length; ++i) {
                appendTo[0].innerHTML += '<div class="language item switch en"><a href="/en/">english</a></div>';
            }
        } else if(language.indexOf('nl') == 0 && location.href.indexOf("/en/") >= 0 ) {
            for (var i = 0; i < appendTo.length; ++i) {
                appendTo[0].innerHTML += '<div class="language item switch nl"><a href="/">nederlands</a></div>';
            }
        } else {}
    }

更新小提琴:http://jsfiddle.net/ecsuZ/2/