为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

喵喵时光机 2022-07-01 16:50:23
有没有更好的方法来通过简单地折叠/切换 div 并显示/隐藏其内容来替换这种 js 函数?$(function() {            $('#destselect').change(function(){                 $('.dest').hide();                 $('#' + $(this).val()).show();            });       });
查看完整描述

4 回答

?
largeQ

TA贡献2039条经验 获得超7个赞

发生这种情况的原因是因为您的 js 文件是在页面头部调用的。

正因为如此,当你document.getElementsByClassName('collapsible');colls导致一个空数组,因为你在 body 中的元素还没有创建。

您可以创建一个单独的 js 文件并将其添加到正文的末尾(这样您可以确保在执行 javascript 时创建您的 colls),或者只是将您的代码包装在DOMContentLoaded将触发您的代码一次的事件侦听器上文档已完全加载。


查看完整回答
反对 回复 2022-07-01
?
慕容3067478

TA贡献1773条经验 获得超3个赞

我的猜测是您在浏览器完成加载dom内容之前加载脚本,因此当它运行它试图添加事件侦听器的元素时,还不存在。


尝试将所有 javascript 包装在该文件中:


document.addEventListener("DOMContentLoaded", function(event) { 

  // all your code goes here

});

以上确保您的脚本在加载页面上的所有元素后运行。


查看完整回答
反对 回复 2022-07-01
?
繁花如伊

TA贡献2012条经验 获得超12个赞

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



<body>

 ...

 <script type="text/javascript">

   functionFromFile1()

 </script>

</body>


查看完整回答
反对 回复 2022-07-01
?
慕标琳琳

TA贡献1830条经验 获得超9个赞

由于缺少变量,您的脚本似乎无法正常执行。

在此脚本中https://www.argentina-fly.com/js/scripts.js
Naves函数UpdateDetailsDestination()中的变量未定义。

我认为你应该先解决这个问题,然后检查你的进一步代码是否正常工作。运行页面时请查看控制台。您将在那里看到所有与 JavaScript 相关的错误。


查看完整回答
反对 回复 2022-07-01
  • 4 回答
  • 0 关注
  • 171 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信