用 JS 隐藏/显示内容的替代方法?

有没有更好的方法来通过简单地折叠/切换 div 并显示/隐藏其内容来替换这种 js 函数?

$(function() {
           $('#destselect').change(function(){
                $('.dest').hide();
                $('#' + $(this).val()).show();
           });
      });


喵喵时光机
浏览 173回答 4
4回答

largeQ

发生这种情况的原因是因为您的 js 文件是在页面头部调用的。正因为如此,当你document.getElementsByClassName('collapsible');,colls导致一个空数组,因为你在 body 中的元素还没有创建。您可以创建一个单独的 js 文件并将其添加到正文的末尾(这样您可以确保在执行 javascript 时创建您的 colls),或者只是将您的代码包装在DOMContentLoaded将触发您的代码一次的事件侦听器上文档已完全加载。

慕容3067478

我的猜测是您在浏览器完成加载dom内容之前加载脚本,因此当它运行它试图添加事件侦听器的元素时,还不存在。尝试将所有 javascript 包装在该文件中:document.addEventListener("DOMContentLoaded", function(event) {   // all your code goes here});以上确保您的脚本在加载页面上的所有元素后运行。

繁花如伊

您可以在 HTML 文件的标题中添加一个脚本标签,这会将 JS 文件导入当前页面,如下所示 然后在按钮或页面的另一个脚本(通常在底部)中<script src="File1.js" type="text/javascript"></script> 调用该函数。onclick像这样的东西:<body>&nbsp;...&nbsp;<script type="text/javascript">&nbsp; &nbsp;functionFromFile1()&nbsp;</script></body>

慕标琳琳

由于缺少变量,您的脚本似乎无法正常执行。在此脚本中https://www.argentina-fly.com/js/scripts.jsNaves函数UpdateDetailsDestination()中的变量未定义。我认为你应该先解决这个问题,然后检查你的进一步代码是否正常工作。运行页面时请查看控制台。您将在那里看到所有与 JavaScript 相关的错误。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript