我有一个asp:菜单,目前有4个菜单项。我已经能够为菜单设置整体的id,但是菜单项的超链接大多是相同的。我希望能够使用Id或类似物识别每一个。这可能吗?
这是我的菜单:
<asp:Menu ID="NavigationMenu" runat="server" Orientation="Horizontal"
OnMenuItemClick="NavigationMenu_OnMenuItemClick"
CssClass="Menu">
<StaticMenuItemStyle ForeColor="Black" CssClass="MenuItem" ItemSpacing="20" />
<StaticSelectedStyle CssClass="MenuItemSelected"></StaticSelectedStyle>
<Items>
<asp:MenuItem Value="0" Text="New" Selected="True"></asp:MenuItem>
<asp:MenuItem Value="1" Text="Approved"></asp:MenuItem>
<asp:MenuItem Value="2" Text="Rejected"></asp:MenuItem>
<asp:MenuItem Value="3" Text="Done"></asp:MenuItem>
</Items>
</asp:Menu>
这是浏览器中第二个和第三个菜单项(当前未选择)的结果
<a class="NavigationMenu_1 MenuItem NavigationMenu_3" href="javascript:__doPostBack('NavigationMenu','2')" style="border-style:none;font-size:1em;">Rejected</a>
<a class="NavigationMenu_1 MenuItem NavigationMenu_3" href="javascript:__doPostBack('NavigationMenu','3')" style="border-style:none;font-size:1em;">Done</a>
正如您所看到的,它们非常相似。任何解决方案?
答案 0 :(得分:0)
我们无法为menuitem指定ID
您可以通过以下模式使用javascript获取“菜单对象”。
var myMenu = document.getElementById(“MyMenu”);
如果您检查呈现的HTML,您将看到它呈现为一个表(具有id MyMenu)和每个项目的一个元素。
所以你可以隐藏/显示你的任何元素:
document.getElementById(“MyMenu”)。tBodies [0] .rows [0] .style.display =“none”;
这是关于表DOM元素的一个很好的教程:
http://www.howtocreate.co.uk/tutorials/javascript/domtables
表
caption
childNodes[]
tHead
rows[]
cells[]
childNodes[]
tFoot
rows[]
cells[]
childNodes[]
tBodies[]
rows[]
cells[]
childNodes[]