使用javascript在标签上不显示任何内容

Display none on label with javascript

本文关键字:显示 任何内 javascript 标签 使用      更新时间:2023-09-26

嗨,我查看了stackoverflow来纠正我的错误,但找不到任何有帮助的答案,所以我希望我的标签在我点击标签时不显示,我希望在ul元素上显示块,ul元素是显示块,但标签没有。这是我的代码:

var menuCheck = document.getElementById(checkBox);
var menuDims = document.getElementById(menuUl);
var labelUl = document.getElementById(labelUl);
        
function menuFunction() {
          
  menuDims.style.display="block";
  labelUl.style.display="none";
          
}
<nav class="menu">
  <checkbox id="checkBox"></checkbox> 
  <label for="checkbox" onclick="menuFunction()" id="labelUl">l</label>
  <ul id="menuUl">
    <li><a href="index.html">Forside</a></li>
    <li><a href="spil.html">Spil</a></li>
    <li><a href="an.html">Anmeldelser</a></li>
    <li><a href="#">Kontakt</a></li>
  </ul>
</nav>

修复:

var menuCheck = document.getElementById('checkBox');
var menuDims = document.getElementById('menuUl');
var labelUl = document.getElementById('labelUl');

可能的问题之一是,您需要

document.getElementById("checkBox")

即,您需要对id名称进行双引号或单引号引用。

因为没有执行语句,所以没有定义menuCheck和其他变量

function menuFunction() {
  var menuCheck = document.getElementById(checkBox);
  var menuDims = document.getElementById(menuUl);
  var labelUl = document.getElementById(label);
  menuDims.style.display="block";
  labelUl.style.display="none";
}

getElementById MDN页面

var labelUl=document.getElementById(标签);

是的问题所在

ID与元素不匹配

<label for="checkbox" onclick="menuFunction()" id="**labelUl**">l</label>

线路应该像这个

var labelUl = document.getElementById("labelUl");
var menuDims = document.getElementById("menuUl");

除了复选框外,所有其他ID都是正确的,但需要传递的ID作为字符串传递

var menuCheck = document.getElementById(checkBox);

不完全确定这是在做什么,但它与片段中显示的任何元素都不匹配

document.getElementById将字符串作为参数,有关更多信息和示例,请参阅本页
脚本标记需要在元素添加到文档后运行
因此,将script标记放在<nav>之后也会有所帮助。

工作示例