正常菜单栏
向后台获取菜单栏能拿到数据且数据正常,生成打印在控制台的html代码也是对的
页面显示出错,子菜单什么的都点不开
将控制台打印的html代码之间复制到页面里去却能正常显示,这是怎么回事呀,有没有大佬救救孩子啊,要被这个东西整崩溃了。
出现什么问题,把问题描述详细一点,把代码贴出来
应该是动态添加的元素没有绑定click之类的事件。
对于动态添加的元素要用委托式的绑定事件方式:
$("#nav").on("click", "绑定事件的元素", function(event){});
不能用直接的绑定事件方式:
$("绑定事件的元素").click(function(event){});
因为直接绑定事件时,你的元素还没有添加到页面上,找不到元素。
把数据和生成菜单的代码贴出来:
可能的原因:
1.数据正确,但递归循环生成菜单代码有错误
2.数据不正确
$(function (){
$("#currentUser").html("");
console.log(sessionStorage.getItem("currentUserRole"));
LoadMenu()
})
function LoadMenu() {
let role=sessionStorage.getItem("currentUserRole");
let data={
role:role
}
$.ajax({
url: "http://localhost:11000/menu/queryMenusByRole",
type: "post",
data:data,
contentType: "application/json; charset=utf-8",
async:false,
data:JSON.stringify(data),
dataType: 'json',
success:function (data){
console.log(data)
let menus=setMenu(data)
$("#nav").html(menus)
}
})
}
<ul id="nav"></ul>
这是代码
显示错误的页面,子菜单 f12检查元素有吗?
f12也能看到元素,但是就是不显示
你的下箭头在这里吧,看下样式怎么没显示
估计是js加载顺序的问题。
您好,我是有问必答小助手,你的问题已经有小伙伴为您解答了问题,您看下是否解决了您的问题,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632
非常感谢您使用有问必答服务,为了后续更快速的帮您解决问题,现诚邀您参与有问必答体验反馈。您的建议将会运用到我们的产品优化中,希望能得到您的支持与协助!
速戳参与调研>>>https://t.csdnimg.cn/Kf0y