html文件引入另一个html头文件,造成js失效,请教

diamond_k 2018-11-02 11:28:19
其实逻辑很简单,多个html文件,共用一个header.html,使用以下js引入

$(document).ready(function() {
$("#header").load("header.html");
})



问题就出现在,header文件中,有多个侧边栏 li标签,使用单独引入的js文件来切换效果

$(document).ready(function() {
$('#header .nav a[data-toggle="collapse"]').on('click', function() {
if($(this).hasClass('collapsed')) {
$(this).addClass('active');
} else {
$(this).removeClass('active');
}
})
})


所以我怀疑是dom树没有加载成功,js增加class就开始增加了,所以等实际dom数有元素的时候,后一段代码相当于提前运行了。
但我把后一段改成 window.onload() 貌似也没有作用,因为不想把所有的 li标签放在每个html文档内,希望通过引入header统一管理。

还是请教各位大神,如何调整才能实现 正常点击(侧边栏点击动态加载class属性,以实现标签效果)。感谢
...全文
523 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
sinat_35033848 2018-11-05
  • 打赏
  • 举报
回复
修改标签吧,简单的方案的话还是修改header里的li标签,换成其他的,比如div或者p标签
或者就是在li标签后面加特定的class,然后js调用的时候指定class
diamond_k 2018-11-03
  • 打赏
  • 举报
回复
准确的说 问题是 如何为动态引入的dom元素绑定事件,谢谢
風灬雲 2018-11-03
  • 打赏
  • 举报
回复
load方法好像有个回调函数吧,把JS放到回调函数里面

87,990

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧