Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.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 使onclick对所有列表元素起作用_Javascript_Jquery_List_Onclick - Fatal编程技术网

Javascript 使onclick对所有列表元素起作用

Javascript 使onclick对所有列表元素起作用,javascript,jquery,list,onclick,Javascript,Jquery,List,Onclick,当前,该页面仅适用于第一个列表项。我希望onclickshow/hide对所有列表元素都有效。我尝试更改它以按类、名称获取元素,但无法正确获取 代码如下: HTML JS 通过使用标记名或类,您有几个选项。我创建了一个简单的方法来实现这一点 基本上,您可以使用 var elements = document.getElementsByTagName('li') 这将返回所有li元素的数组。接下来,您将迭代该数组绑定您的单击处理程序 var elements = document.getElem

当前,该页面仅适用于第一个列表项。我希望
onclick
show/hide对所有列表元素都有效。我尝试更改它以按类、名称获取元素,但无法正确获取

代码如下:

HTML

JS


通过使用标记名或类,您有几个选项。我创建了一个简单的方法来实现这一点

基本上,您可以使用

var elements = document.getElementsByTagName('li')
这将返回所有
li
元素的数组。接下来,您将迭代该数组绑定您的单击处理程序

var elements = document.getElementsByTagName('li')
for(var i=0;i<elements.length;i++)
    elements[i].onclick = myFunction;

为它们指定相同的类名,并使用循环覆盖HTMLCollection将事件附加到所有类。同时检查Hello,我正在尝试这个解决方案,虽然它现在适用于所有列表项,但它不应用display:block;对于列表项下的所有div。据我所知,this.classList.toggle会影响
  • ,但是,具有toggling的元素是子元素
    document.getElementById("virsraksts").onclick = function() {
      myFunction()
    };
    
    function myFunction() {
      document.getElementById("kontents").classList.toggle("para");
    }
    
    var elements = document.getElementsByTagName('li')
    
    var elements = document.getElementsByTagName('li')
    for(var i=0;i<elements.length;i++)
        elements[i].onclick = myFunction;
    
    var elements = document.getElementsByTagName('li')
    for (var i = 0; i < elements.length; i++)
      elements[i].onclick = myFunction;
    
    function myFunction(e) {
      this.classList.toggle('para');
    }