Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/447.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/3/html/87.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
有没有办法实现多类Id';在一个javascript函数中是什么?_Javascript_Html_Css - Fatal编程技术网

有没有办法实现多类Id';在一个javascript函数中是什么?

有没有办法实现多类Id';在一个javascript函数中是什么?,javascript,html,css,Javascript,Html,Css,我在div类主ulli中列出了4个元素。 我想在单击按钮时隐藏这些元素。我用下面的代码进行了尝试,但只有第一个元素起作用 功能切换(id){ var e=document.getElementById(id); 如果(e.style.display==“无”){ e、 style.display='block'; }否则{ e、 style.display='none'; } } .main{ 显示:表格; 填充:2×20px; } 李少林议员{ 显示:无; } 一个 两个 三 隐藏您可

我在div类主ulli中列出了4个元素。 我想在单击按钮时隐藏这些元素。我用下面的代码进行了尝试,但只有第一个
  • 元素起作用

    功能切换(id){
    var e=document.getElementById(id);
    如果(e.style.display==“无”){
    e、 style.display='block';
    }否则{
    e、 style.display='none';
    }
    }
    .main{
    显示:表格;
    填充:2×20px;
    }
    李少林议员{
    显示:无;
    }
    
    
    • 一个
    • 两个

    隐藏
    您可以使用jquery进行隐藏和显示,如下所示。最初,通过css将display none属性应用于li元素。它将隐藏页面加载时的元素

    <div class="main">
    <li>one</li>
    <li>two</li>
    <li>three</li></ul></div>
    
    <button class="btn" onclick="toggle()">hide</button>
    
    .main ul{
      display:table;
      padding:2px 20px 2px 20px;
    }
    
    .main ul li{
      display:none;
    }
    
    function toggle(id) {
    
    var e = $('ul')
    if($('ul').is(":visible"))
       {
         $('ul').hide();
       }
    else
       {
          $('ul').show();
       }
    }
    
    
    
  • 一个
  • 两个
  • 三个
  • 隐藏 主保险商实验室{ 显示:表格; 填充:2×20px 2×20px; } 李少林议员{ 显示:无; } 功能切换(id){ 变量e=$('ul') 如果($('ul')。是(“:可见”)) { $('ul').hide(); } 其他的 { $('ul').show(); } }
    香草溶液

    li
    是一个标记,而不是id。因此,您必须使用例如

    var elements=document.getElementsByTagName()


    现在您不能直接使用
    元素
    ,因为它是一个元素数组。所以你已经迭代了数组中的每个元素,比如像我一样使用
    for
    循环。然后将当前元素分配给var,在我的例子中是
    元素
    ,并像以前一样创建if语句。

    您的代码将无法工作,因为您在函数中传递的ul没有任何意义,这就是它无法工作的原因

    我已经用最简单的方法修改了你的代码

    var btn=document.querySelector('button');
    var ul=document.querySelector('ul');
    btn.onclick=函数(){
    ul.classList.toggle('newClass');
    }
    .newClass{
    显示:无;
    }
    
    
    • 一个
    • 两个

    隐藏
    您确定第一次使用它有效吗?我不明白它怎么能“我想在点击按钮时隐藏这些元素。”它们已经被你的CSS隐藏了。(不,除非您的代码中有一个
    var li=“one”
    ,否则它对第一个不起作用。)JQuery
    $('div.main li')。每个(e=>…)不适用于您?欢迎使用堆栈溢出!请拿着(你得到一个徽章!),四处看看,并通读,特别是我还推荐Jon Skeet的和。你想循环使用id的li元素并在单击时隐藏它们?不要求切换功能,我想只是“隐藏”它们就可以了,先生,但我觉得他正在尝试制作一个可折叠的导航栏,我可能是错的,也可能是错的,因为预期的结果还不是很清楚,我们可以“静坐等待”。