Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/427.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 style.display=";无”;在else{}中工作,但在if{}中不工作_Javascript_Html - Fatal编程技术网

Javascript style.display=";无”;在else{}中工作,但在if{}中不工作

Javascript style.display=";无”;在else{}中工作,但在if{}中不工作,javascript,html,Javascript,Html,JS: 功能切换显示(语言选项){ var elements=document.getElementsByClassName(lang\u选项); var langs=document.getElementsByClassName(“lang”); for(var i=0,l=elements.length;iif)(langs中的元素[i]{测试所讨论的元素是否是langsHTMLCollection的属性,当然这总是false。如果要检查该元素是否包含在HTMLCollection中,可以将

JS:

功能切换显示(语言选项){
var elements=document.getElementsByClassName(lang\u选项);
var langs=document.getElementsByClassName(“lang”);
for(var i=0,l=elements.length;i
if)(langs中的元素[i]{
测试所讨论的元素是否是
langs
HTMLCollection的属性,当然这总是false。如果要检查该元素是否包含在HTMLCollection中,可以将HTMLCollection转换为数组并使用
。includes

<button type="button" class="btn btn-primary" data-toggle="button" aria-pressed="false" autocomplete="off" onclick="ToggleShow('lang-compiled')">
  Compiled
</button>
<div class="lang lang-interpreted">Python 3</div>
<div class="lang lang-compiled">C</div>
if(langs中的元素[i]){
测试所讨论的元素是否是
langs
HTMLCollection的属性,这当然总是错误的。如果您想检查该元素是否包含在HTMLCollection中,您可以将HTMLCollection转换为数组并使用
.includes

<button type="button" class="btn btn-primary" data-toggle="button" aria-pressed="false" autocomplete="off" onclick="ToggleShow('lang-compiled')">
  Compiled
</button>
<div class="lang lang-interpreted">Python 3</div>
<div class="lang lang-compiled">C</div>
我们在
中使用
检查对象中的属性,而不是值。只需更改
if
块的表达式即可使代码正常工作

功能切换显示(语言选项){
var elements=document.getElementsByClassName(lang\u选项);
var langs=document.getElementsByClassName(“lang”);
对于(var i=0,l=elements.length;i
我们在
中使用
检查对象中的属性,而不是值。只需更改
if
块的表达式即可使代码正常工作

功能切换显示(语言选项){
var elements=document.getElementsByClassName(lang\u选项);
var langs=document.getElementsByClassName(“lang”);

对于(var i=0,l=elements.length;i)您想实现什么?您想让“C”打开/关闭吗?它应该切换“Python”(因为它不是编译语言)。目前它隐藏了“C”,这就是为什么我需要将
display=“block”
更改为
display=“none”
您想实现什么?您想让“C”吗要切换开/关?它应该切换“Python”(因为它不是一种编译语言)。目前它隐藏了“C”,这就是为什么我需要将
display=“block”
更改为
display=“none”
谢谢!我添加了一个部分来有效地隐藏所有不包含langu选项的元素(包括在我的后期更新中)。我认为使用“in”在上下文中,我所做的更多的是Python的事情,我假设它是双向的。谢谢!我添加了一个部分来有效地隐藏所有不包含lang_选项的元素(包括在我的后期更新中)。我认为在上下文中使用“in”更像是Python的事情,我假设它是双向的。
 function ToggleShow(lang_option) {
   var elements = document.getElementsByClassName(lang_option);
   var langs = [...document.getElementsByClassName("lang")];
   for (var i = 0, l = elements.length; i < l; i++) {
     if (langs.includes(elements[i])) {
       elements[i].style.display = "block";
     } else {
       elements[i].style.display = "none";
     }
   }
 }
 function ToggleShow(lang_option) {
   var langs = [...document.getElementsByClassName("lang")];
   document.querySelectorAll('.' + lang_option).forEach(element => {
     element.style.display = langs.includes(element)
     ? 'block'
     : 'none';
   });
 }
function ToggleShow(lang_option) {
  var elements = document.getElementsByClassName(lang_option);
  var langs = document.getElementsByClassName("lang");
  for(var i=0,l=elements.length;i<l;i++) {
    elements[i].style.display= langs.includes(elements[i]) ? "block" : "none";
    }
 }