为什么这个代码工作在一个测试网站,我有,但不是在本地页面或jfillde

Why is this code working on a test website that I have but not on a local page or jfillde?

本文关键字:jfillde 我有 网站 工作 代码 测试 一个 为什么      更新时间:2023-09-26

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

下面是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>

这里有两个问题。首先,Divs没有toggle函数;我想你的意思是:

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

另一个问题是在jsFiddle:因为jsFiddle发送所有Javascript包装在一个函数(在windows.load),它需要定义函数toggleDiv作为一个全局变量,为它被发现时,点击链接:

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

最后一点:如果不是将Javascript嵌入到html中,而是使用事件来将toggle函数绑定到链接的click事件中,可能会更好。

相关文章: