2011-09-30 105 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