切换外部div与内部div

时间:2016-08-18 22:11:46

标签: javascript html css nested

我有一个页面(例如" page1")有多个div,有些嵌套在其他div中。默认情况下隐藏所有div并通过单击特定链接切换(或再次单击时关闭)。要查看嵌套的div,首先必须打开外部div。

简化示例为here

现在,我的客户想要从另一个页面(例如"第2页和第34页;)链接到第1页的特定嵌套div并显示它。这意味着外部div也必须打开。如何实现这一目标?

使用

<a href="page1.html#divid5">clickfordivid5</a>

嵌套div打开但当然保持隐藏,因为外部div仍然是隐藏的。我可以在链接上切换两个div吗?

非常感谢!

其他信息:

使用此脚本:

<script type="text/javascript"> 

function toggle(id) { 
   var el = document.getElementById(id); 
   if (el.style.display == "block") { 
      el.style.display = "none"; 
   } else {
      el.style.display = "block";
   } 
} 
</script>

然后

<a href="javascript:toggle('divid5');">

<div class="ToggleTarget" id="divid5">

1 个答案:

答案 0 :(得分:1)

使用jQuery有很多简短的方法可以实现它,但是我检查了你的网站,你没有使用jQuery库。

要使用javascript完成此操作,请为需要同时打开的所有标记添加一个类,例如向child及其父div添加一个名为 same 的类,并保留将该类显示为无(在您的css文件中添加.same {display:none})。现在在具有这些div的网页的页脚添加以下代码:

<script type="text/javascript">
    if(window.location.hash.substring(1)){
     var cols = document.getElementsByClassName(window.location.hash.substring(1));
          for(i=0; i<cols.length; i++) {
            cols[i].style.display = 'block';

            }
    }
</script>

在另一个页面上添加哈希链接,你已经添加了但是需要保持打开的类:

<a href="page1.html#same">clickfordivid5</a>

它应该有用。