Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/426.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/80.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 - Fatal编程技术网

Javascript 如何使用空字符串启用包含?

Javascript 如何使用空字符串启用包含?,javascript,jquery,Javascript,Jquery,为什么我的代码不起作用?我需要在code=”“时显示div。 若全局变量代码包含字符串的某些部分,我需要在我的项目中禁用按钮 let code=”“; $(“.button”)。单击(函数(){ 代码=代码+z; 控制台日志(代码); }) if(代码包括(“z”)){ $(“.hide”).css(“显示”、“可见”); 控制台日志(代码); }else if(代码包括(“”)){ $(“.hide”).css(“显示”、“无”); 控制台日志(代码); } 点击我 Im hidden i

为什么我的代码不起作用?我需要在
code=”“
时显示div。 若全局变量代码包含字符串的某些部分,我需要在我的项目中禁用按钮

let code=”“;
$(“.button”)。单击(函数(){
代码=代码+z;
控制台日志(代码);
})
if(代码包括(“z”)){
$(“.hide”).css(“显示”、“可见”);
控制台日志(代码);
}else if(代码包括(“”)){
$(“.hide”).css(“显示”、“无”);
控制台日志(代码);
}

点击我

Im hidden if code=“”。
在您的示例中,if else是在脚本首次运行时执行的。因此,代码从不包含z,并且不会在每次单击时运行if-else检查。试试这个

let code = "";

$(".button").click(function() {
  code = code + "z";
  console.log(code);

  if (code.includes("z")) {
    $(".hide").css("display", "visible");
    console.log(code);

  } else if (code.includes("")) {
    $(".hide").css("display", "none");
    console.log(code);

  }
})

由于if/else是在click事件之外编写的,因此当页面加载时,它们只执行一次。单击按钮时,它们根本不执行。您必须在单击按钮时执行该条件

请注意:不是属性的正确值(它本身是另一个属性),请改用block作为属性值

let code=”“;
$(“.button”)。单击(函数(){
代码=代码+z;
控制台日志(代码);
if(代码包括(“z”)){
$(“.hide”).css(“显示”、“块”);
控制台日志(代码);
}
else if(代码包括(“”)){
$(“.hide”).css(“显示”、“无”);
控制台日志(代码);
}
});
if(代码包括(“”)){
$(“.hide”).css(“显示”、“无”);
控制台日志(代码);
}

点击我

如果code=“”。
您的if语句
if(code.includes(“z”){}
仅在页面加载时运行一次,而不是每次单击按钮。相反,您可以将此检查添加到函数中,并在页面加载时以及通过调用函数单击按钮时进行检查

样式
display:visible
也无效。您可以使用
display:block

请参见下面的工作示例:

let code=”“;
函数检查码(){
if(代码包括(“z”)){
$(“.hide”).css(“display”、“block”);//您可以使用.show()而不是.css()
}else if(代码包括(“”)){
$(“.hide”).css(“display”,“none”);//您可以使用.hide()而不是.css()
}
}
$(“.button”)。单击(函数(){
代码=代码+z;
控制台日志(代码);
检查代码();
});
检查代码()

点击我

如果code=“”,则Im隐藏。
这是因为您的逻辑if在单击事件之外,并且在页面加载时会被评估。您的逻辑在这里设计得不好。您需要在单击功能中添加
if
else if
,并需要为
设置一些CSS。隐藏
显示开始:无