将mediawiki TOC移至侧边栏

时间:2014-05-17 22:59:45

标签: javascript php html mediawiki

我一直试图找到一种方法,将MediaWiki中的TOC移动到侧边栏或任何我希望在主要内容之外的位置,但没有成功。

最简单的解决方案提出了以下内容,但它似乎并没有实际移动TOC。

<div id="toc_sidebar_holder"> </div>

<script type="text/javascript">
    var toc = document.getElementById('toc');
    var toc_holder = document.getElementById('toc_sidebar_holder');
    if(toc && toc_holder){
        toc.parentNode.removeChild(toc);
        toc_holder.appendChild(toc);
        }
</script>

然后,这是目前TOC的HTML样式。

<table id="toc" class="toc"><tr><td><div id="toctitle"><h2>Contents</h2></div>
    <ul>
      <li class="toclevel-1 tocsection-1"><a href="#Cats"><span class="tocnumber">1</span> <span class="toctext">Cats</span></a>
        <ul>
          <li class="toclevel-2 tocsection-2"><a href="#Type"><span class="tocnumber">1.1</span> <span class="toctext">Type</span></a></li>
          <li class="toclevel-2 tocsection-3"><a href="#Meows"><span class="tocnumber">1.2</span> <span class="toctext">Meows</span></a></li>
        </ul>
      </li>
      <li class="toclevel-1 tocsection-4"><a href="#Dogs"><span class="tocnumber">2</span> <span class="toctext">Dogs</span></a>
        <ul>
        <li class="toclevel-2 tocsection-5"><a href="#Woof"><span class="tocnumber">2.1</span> <span class="toctext">Woof</span></a></li>
        </ul>
      </li>
    </ul>
</td></tr></table>

真正寻找解决方案或弄清楚如何使上述功能发挥作用。

1 个答案:

答案 0 :(得分:1)

该脚本看起来很好,但是如果你测试它,你可能会注意到toc没有被分配。

将脚本放在皮肤底部,这样当两个元素都已可用时执行。