我想检查我的菜单是否包含菜单项“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”不存在,那么我需要显示此链接:
<a href="/en-us/aboutus/abgroup.aspx?ctl=login" id="Login" />Login</a>
答案 0 :(得分:1)
您的问题中缺少DOM结构! :( ,所以我会试一试......
if ($('div.toppane div.logopane div.menupane ul.sf-menu')
.has('ul.sf-menu li a')){
$('#Logoff').show();
}
else{
$('#Login').show();
}
或者Admin的内容是什么,只需将其放在has
...
<强>更新强>
“admin”是一个字符串值..所以假设我需要检查菜单中的值?
使用is
+ :has
+ :containes
。
if ($('div.toppane div.logopane div.menupane ul.sf-menu')
.is(':has(a:contains(Admnin))')) {`
答案 1 :(得分:-1)
你不应该使用jQuery来确定导航项,而应该在服务器端完成。如果我禁用Javascript会发生什么?如果设置了'admin'并根据需要更改链接,最好有IF判断检查。