如果Else,Else If,Else - 基于URL中的字符串

时间:2014-04-08 00:51:38

标签: javascript string url if-statement innerhtml

您好, 我想让我的javascript识别每个页面上的文件夹。根据文件夹名称,我想使用if else语句将该文件夹名称添加到innerHTML中。我无法使用if else运行,否则使用if,else语句。

以下是HTML代码段:

<div id="countryVal"></div>

和javascript:

var outputData = document.getElementById('clothingVal');

if (window.location.search.search(/Men/)) {
document.getElementById('clothingVal');
outputData.innerHTML = outputData.innerHTML + ': ' + 'Australia';
}

else if (window.location.search.search(/Women/)) {
document.getElementById('clothingVal');
outputData.innerHTML = outputData.innerHTML + ': ' + 'New Zealand';
}

else {outputData.innerHTML = outputData.innerHTML + ': ' + '';
};

我们非常感谢任何建议。

1 个答案:

答案 0 :(得分:0)

没有必要,但开关可能比其他地方更好。当你可能想要在未来使用新的过滤器时,我发现它们更易于管理。 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/switch

但是保留当前代码应该清理变量以使其更具可读性。您还应该将此代码放在onload或onready语句中。而且我们 indexOf 胜过正则表达式(你需要逃回斜杠才能找到类似 / \ / Men \ // 的东西,这会变得混乱){{3 }}

这是未经测试的,但应该与您所追求的一致。

window.onload = function() {
    var outputData = document.getElementById('clothingVal');

    if ( window.location.indexOf("/Men/") != -1 ) {
        outputData.innerHTML = outputData.innerHTML + ': ' + 'Australia';
    } else if ( window.location.indexOf("/Women/") != -1 ) {
        outputData.innerHTML = outputData.innerHTML + ': ' + 'New Zealand';
    } else {
        outputData.innerHTML = outputData.innerHTML + ': ' + '';
    };
}