2011-09-30 53 views
0

我有一个ASP.Net导航菜单控件,有1个项目,我需要动态更改文本的颜色,如果某些条件存在。我有一个函数设置为每1秒运行一次以检查这些条件,并且需要将菜单项的文本设置为红色(如果为true)。我试过了:更改ASP.Net中的菜单项的颜色文本导航菜单从Javascript

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

这是因为你已经得到了<li>内的锚标记<a>。你需要做的是设置<li><a>不是颜色的颜色:

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

+0

工作正常!谢谢! – jmease

0

如果您尝试访问任何具有来自javascript的属性runat="server"的元素,请尝试给元素ClientIDMode="Static"属性。否则,asp.net很容易重命名元素的ID。

+0

感谢。但我不认为这个问题是由我的代码发现要更改的元素。它正在查找列表项并更改属性。我必须只是改变错误的财产或因为它不显示红色。 – jmease