Javascript 如果菜单项存在,则显示或隐藏与jQuery的链接
我想检查我的菜单是否包含菜单项“Admin” Admin是父菜单项的名称。当用户登录时,他们可以看到管理菜单 我的菜单css路径如下所示:Javascript 如果菜单项存在,则显示或隐藏与jQuery的链接,javascript,jquery,dotnetnuke,Javascript,Jquery,Dotnetnuke,我想检查我的菜单是否包含菜单项“Admin” Admin是父菜单项的名称。当用户登录时,他们可以看到管理菜单 我的菜单css路径如下所示: div.toppane div.logopane div.menupane ul.sf-menu li a 如果是这样,那么我想显示以下链接 <a href="/en-us/aboutus/abgroup.aspx?ctl=logoff" id="Logoff" />Logoff</a> 但如果“admin”不存在,则我需要显
div.toppane div.logopane div.menupane ul.sf-menu li a
如果是这样,那么我想显示以下链接
<a href="/en-us/aboutus/abgroup.aspx?ctl=logoff" id="Logoff" />Logoff</a>
但如果“admin”不存在,则我需要显示此链接:
<a href="/en-us/aboutus/abgroup.aspx?ctl=login" id="Login" />Login</a>
您的问题中缺少DOM结构:(,所以我将尝试一下
if ($('div.toppane div.logopane div.menupane ul.sf-menu')
.has('ul.sf-menu li a')){
$('#Logoff').show();
}
else{
$('#Login').show();
}
或者管理员的东西是什么样子的,只要把它放在has
中就可以了
更新: “admin”是一个字符串值。所以假设我需要检查菜单中的值 使用
is
+:has
+:containes
if ($('div.toppane div.logopane div.menupane ul.sf-menu')
.is(':has(a:contains(Admnin))')) {`
您不应该使用jQuery来确定导航项,而应该在服务器端完成。如果禁用Javascript会发生什么?最好使用if语句检查是否设置了“admin”,并根据需要更改链接。这确实是您应该在服务器端做的事情,假设“admin”指的是某种登录授权帐户。admin是一个菜单项。我的DNN安装的一部分已损坏。重定向似乎有效。我只需要整理一下。admin是父菜单项的名称。“admin”是一个字符串值。因此,假设我需要检查菜单中的值?@sp-1986.:
.contains(“admin”)
@sp-1986。你能告诉我们你的菜单看起来像“admin”字符串吗?@sp-1986。完整的DOM结构请…它是admin
还是admin
?这很重要!修复了它。我从css路径中删除了A,我可以看到你正在包含中检查它!非常感谢