Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript如果此语句或此语句-忽略第二个条件_Javascript_Jquery_Html_If Statement_Conditional Statements - Fatal编程技术网

Javascript如果此语句或此语句-忽略第二个条件

Javascript如果此语句或此语句-忽略第二个条件,javascript,jquery,html,if-statement,conditional-statements,Javascript,Jquery,Html,If Statement,Conditional Statements,我必须显示不同的div根据什么搜索词进入我的网站。URL将包含输入的搜索词,因此我想我可以检查URL中的字符串,如果有匹配项,则显示div 对于Doufeu/Doufeu部分,div将仅基于第一个术语显示。代码如下-它将仅显示Doufee是否在字符串中,而不是Doufee。为什么? 根据我读到的和,我尝试了下面的代码,还使用了&&而不是| |,因为第二个链接解释了只有在第一个条件为false时才读取第二个条件。我找到并尝试用逗号分隔。但是没有一个适合我。这就是我现在的处境: &l

我必须显示不同的div根据什么搜索词进入我的网站。URL将包含输入的搜索词,因此我想我可以检查URL中的字符串,如果有匹配项,则显示div

对于Doufeu/Doufeu部分,div将仅基于第一个术语显示。代码如下-它将仅显示Doufee是否在字符串中,而不是Doufee。为什么?

根据我读到的和,我尝试了下面的代码,还使用了&&而不是| |,因为第二个链接解释了只有在第一个条件为false时才读取第二个条件。我找到并尝试用逗号分隔。但是没有一个适合我。这就是我现在的处境:

        <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>

$(文档).ready(函数(){
if((window.location.href.indexOf(“searchTerm=doufee”| |“searchTerm=doufee”)>-1)){
$(“#学豆豆”).show();
}
否则{
$(“#ci指南”).show();
}
});

我知道我可以创建一个新的if-else条件,并通过这种方式将doufee从doufee中分离出来,但肯定有一种方法可以使用OR来实现。

您是
或者
-ing两个字符串在一起,而不是
indexOf
的结果。请分别拨打两个电话:

if (window.location.href.indexOf("searchTerm=Doufeu") != -1 || window.location.href.indexOf("searchTerm=doufeu") != -1)
可能更好的方法是使用正则表达式

if (/searchTerm=[Dd]oufeu/.test(window.location.href)) {
    // do stuff
}

您正在
将两个字符串合并在一起,而不是
索引的结果。请分别拨打两个电话:

if (window.location.href.indexOf("searchTerm=Doufeu") != -1 || window.location.href.indexOf("searchTerm=doufeu") != -1)
可能更好的方法是使用正则表达式

if (/searchTerm=[Dd]oufeu/.test(window.location.href)) {
    // do stuff
}

您的代码不能反映您的意图。您的代码实际上将OR操作| |应用于两个字符串,而不是比较

将代码更改为

if ( (window.location.href.indexOf("searchTerm=Doufeu") > -1) ||
     (window.location.href.indexOf("searchTerm=doufeu") > -1)    ){

您的代码不能反映您的意图。您的代码实际上将OR操作| |应用于两个字符串,而不是比较

将代码更改为

if ( (window.location.href.indexOf("searchTerm=Doufeu") > -1) ||
     (window.location.href.indexOf("searchTerm=doufeu") > -1)    ){

我建议将条件语句拆分如下:

if (window.location.href.indexOf("searchTerm=Doufeu") > -1 || window.location.href.indexOf("searchTerm=doufeu") > -1))

这应该允许两种比较,同时将检查保留在单个if中。

我建议按如下方式拆分条件语句:

if (window.location.href.indexOf("searchTerm=Doufeu") > -1 || window.location.href.indexOf("searchTerm=doufeu") > -1))

这应该允许两种比较,同时将检查保留在一个if中。

还要注意,两个字符串上的
|
只计算第一个真实字符串,因此
“searchTerm=doufue”| |“searchTerm=doufue”
与Javascript.oops中键入的
“searchTerm=doufue”
完全相同!对于正则表达式+1(我想再次投票,因为你没有使用
/searchterm=doufee/I
谢谢,这是一个很好的解决方案,你的解释帮助我学到了一些新的东西。我使用正则表达式,因为我认为它更干净。还要注意,两个字符串上的
|
只计算第一个真实字符串,所以
“searchTerm=Doufeu”| |“searchTerm=Doufeu”
与Javascript.ooops中的“searchTerm=Doufeu”
完全相同!对于正则表达式,+1(我想再次投票,因为你没有使用
/searchterm=doufeu/I
谢谢,这是一个很好的解决方案,你的解释帮助我学到了一些新东西。我使用正则表达式,因为我认为它更干净。如果有人键入“searchterm=doufeu”-应该
$(“#学习doufeu”)
也要显示吗?不,只有大写和小写D。如果有人键入“SeARchTerM=Doufee”-是否也要显示
$(“#learn Doufee”)
不,只有大写和小写D。