在ASP中更改菜单项的文本颜色.Net导航菜单从Javascript

Change Text Color of Menu Item in ASP.Net Navigation Menu From Javascript

本文关键字:Net 颜色 导航 菜单 Javascript 文本 ASP 菜单项      更新时间:2023-09-26

我有一个ASP。Net导航菜单控件与1项,我需要动态地改变文本的颜色,如果某些条件存在。我有一个函数集,每1秒运行检查这些条件,需要设置菜单项的文本为红色,如果为真。我试过:

var item = $("ul").children().eq(6);
item.style.color = "red";

但是得到"cannot set property color of undefined"错误。我试过:

$("ul").children().eq(6).css("color", "red");

它找到菜单项,将color属性更改为红色,但仍然显示之前的颜色。永远不会变成红色。下面是发生这种情况时页面的html:

<li role="menuitem" class="static" style="position: relative; float: left; color: red; ">
    <a class="level1 static" href="Sync.aspx" tabindex="-1">Sync</a>
</li>

任何想法?

这是因为您在<li>中有一个锚标记<a>。您需要做的是设置<a>的颜色,而不是<li>的颜色:

$("ul").children().eq(6).children().css("color", "red");

示例:http://jsfiddle.net/Jscng/

如果您试图从javascript访问具有runat="server"属性的任何元素,请尝试赋予该元素ClientIDMode="Static"属性。否则,asp.net很容易重命名元素的id。