Javascript如果这个OR这个语句 - 第二个条件被忽略

sur*_*713 1 html javascript jquery if-statement conditional-statements

我必须根据输入到我网站的搜索字词显示不同的div.该URL将包含输入的搜索词,因此我认为我可以检查URL中的字符串并显示div是否匹配.

对于Doufeu/doufeu部分,div只会根据第一个术语显示.代码如下 - 它只显示Doufeu是否在字符串中,而不是doufeu.为什么?

根据我在这里这里阅读的内容,我尝试了下面的代码,并使用&&而不是|| 因为第二个链接解释了第二个条件只有在第一个条件为假时才被读取.我找到了这个并尝试用逗号分隔.不过对我来说没有用.这是我现在的位置:

        <script type="text/javascript">
        $(document).ready(function(){

            if ((window.location.href.indexOf("searchTerm=Doufeu" || "searchTerm=doufeu") > -1)){
            $("#learn-doufeu").show();
        }

        else {
            $("#ci-guide").show();
        }
        });
        </script>
Run Code Online (Sandbox Code Playgroud)

我知道我可以制作一个新的if else条件并将doufeu与Doufeu分开,但肯定有办法用OR来做.

Mat*_*ant 6

你是or两个字符串,而不是结果indexOf.改为做两个单独的电话:

if (window.location.href.indexOf("searchTerm=Doufeu") != -1 || window.location.href.indexOf("searchTerm=doufeu") != -1)
Run Code Online (Sandbox Code Playgroud)

可能更好的方法是使用正则表达式.

if (/searchTerm=[Dd]oufeu/.test(window.location.href)) {
    // do stuff
}
Run Code Online (Sandbox Code Playgroud)

  • 还要注意两个字符串上的`||`只是计算到第一个真正的字符串,所以``searchTerm = Doufeu'|| "searchTerm = doufeu"是与Javascript中的"searchTerm = Doufeu"相同的***. (2认同)