我有一个带有1个项目的ASP.Net导航菜单控件,如果存在某些条件,我需要动态更改文本的颜色。我有一个功能设置为每1秒运行一次以检查这些条件,如果为true则需要将菜单项的文本设置为红色。我试过了:
var item = $("ul").children().eq(6);
item.style.color = "red";
但是得到“无法设置未定义的属性颜色”错误。我试过了:
$("ul").children().eq(6).css("color", "red");
它找到菜单项,将颜色属性更改为红色,但仍显示以前的颜色。从来没有变红。下面是发生这种情况时页面中的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>
有什么想法吗?
答案 0 :(得分:0)
如果您尝试从javascript访问具有属性runat="server"
的任何元素,请尝试为该元素提供ClientIDMode="Static"
属性。否则,asp.net很容易重命名元素的ID。
答案 1 :(得分:0)
这是因为你在<a>
中有一个锚标记<li>
。您需要做的是设置<a>
的颜色而不是<li>
的颜色:
$("ul").children().eq(6).children().css("color", "red");