【问题标题】:JavaScript/CSS Show respective div on click from gridJavaScript/CSS 在从网格单击时显示相应的 div
【发布时间】:2021-02-10 00:59:26
【问题描述】:

我有一个工作网格,它为 json 中的每个标题显示一个单元格:

async function loop_iteration(json, i, arr) {
    arr.push(`<a onClick="show()" class="cell" id=${i}"><div >${json[i].title}</div> </a>`)
    arr.push(`<div class="info" id=${i}>${json[i].title}<br><br><br><br><br>Game Size: ${json[i].size}<br><br>Last Update: ${json[i].date}</div>`)

}

我想在点击班级信息时显示。

问题是它总是给出相同的标题(第一个),就像总是第一个被点击的单元格

我这样显示信息 div:

 <script>
      function showinfo() {
      var node = document.querySelector('.cell.info')
      var visibility = node.style.visibility;
      node.style.visibility = visibility == "visible" ? 'hidden' : "visible"
      }
    </script>

如果我使用这个来显示 div:

function show(){
        var divsToHide = document.getElementsByClassName("info");
        for(var i = 0; i < divsToHide.length; i++)
        {
        divsToHide[i].style.visibility="visible";
        }

        //document.getElementsByClassName('info')['${i}'].style.visibility = 'visible';
    


      }

发生了一些奇怪的事情,显示的 div 不是第一个,而是显示了所有的 div

感谢您的帮助。

【问题讨论】:

    标签: javascript html css electron grid


    【解决方案1】:

    我发现了问题。 它是 javascript,所以我提取了 id,然后用 id 迭代类

        function show(clicked_id){
        clicked_id = parseFloat(clicked_id);
        document.getElementsByClassName('info')[clicked_id].style.visibility = 'visible';
      }
    

    【讨论】:

      猜你喜欢
      • 2021-12-03
      • 2011-08-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-03-01
      • 2017-11-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多