我有一个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>
正如你所看到的,它们非常相似。有什么解决办法吗?
我们不能为菜单项指定id
你可以通过下面的模式在javascript中获得"menu object"
var myMenu = document.getElementById(" myMenu ");
如果你检查渲染的HTML,你会看到它被渲染为一个表格(id为MyMenu),每个项目一个元素。
你可以像这样隐藏/显示任何元素:
. 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[]