为什么这个代码在我拥有的测试网站上运行,但不在本地页面或jfillde上?

时间:2016-09-08 16:13:33

标签: javascript

我有这个代码,它在我的测试网站上工作正常,但在浏览器中没有本地(在我的硬盘上)独立页面上

这里是jfiddle中的代码:https://jsfiddle.net/9jdsvjfb/

<html>
  <head>
    <meta name="generator"
    content="HTML Tidy for HTML5 (experimental) for Windows https://github.com/w3c/tidy-html5/tree/c63cc39" />
    <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>
    <script type="text/javascript">
function toggleDiv(divId) {
  var ele = document.getElementById(divId);
   ele.toggle();
}
</script>
    <style>
a:hover {
    color: purple;
}
a:active {
    color: purple;
}

</style>
    <title></title>
  </head>
  <body>
    <a class="ConceptLevel1" href="javascript:toggleDiv(&#39;PktS/h+L5EeSqM/4hMH9JA==&#39;);"
    style="text-decoration: none; font-weight:bold; font-size:13pt">BGP -concept list</a>
    <br />
    <div style="padding-left:15px;" id="PktS/h+L5EeSqM/4hMH9JA==">
      <div>fds</div>
      <div>sdfdsfdfdsf</div>
      <div>sdfsdf</div>
      <div>gdhgf</div>
      <a class="ConceptLevel2" href="javascript:toggleDiv(&#39;SPrQVTbDx0WO6As2F+43tw==&#39;);"
      style="text-decoration: none; font-weight:bold; font-size:12pt">hfghg</a>
      <br />
      <div style="padding-left:15px;" id="SPrQVTbDx0WO6As2F+43tw==">
        <div>hfghgh</div>
        <div>fghfgh</div>
      </div>
    </div>
  </body>
</html>

1 个答案:

答案 0 :(得分:0)

我在这里可以看到两个问题。首先,Divs没有toggle功能;我想你的意思是:

function toggleDiv(divId) {
  var ele = jQuery('#' + divId);
  ele.toggle();
}

另一个问题在于jsFiddle:因为jsFiddle发送包含在函数内的所有Javascript(在windows.load中),需要将函数toggleDiv定义为全局变量,以便在单击链接时找到它: / p>

window.toggleDiv = function (divId) {
  var ele = jQuery('#' + divId);
  ele.toggle();
}

最后要注意的是:如果不是嵌入Javascript来强制使用HMTL,那么您可以使用事件来将切换功能绑定到链接&#39;点击事件。