2012-08-23 32 views
-1

我想在任何子鏈接頁面上突出顯示主菜單。使用jquery更改母版頁元素的css

爲此,我正嘗試將css應用於主內容頁面中主頁面的主菜單鏈接。菜單

代碼如下:

<div class="menu"> 
       <ul id="vertical-navigation"> 
        <li runat="server" id="liConfiguration" class="main_link"><a href="#">Configuration</a> 
         <ul> 
          <li class=""> 
           <div class="ParentMenu"> 
            <div class="ChildItem"> 
             <asp:HyperLink ID="HyperLink5" runat="server" NavigateUrl="~/xyz/xyz.aspx">xyz Master</asp:HyperLink></div> 
            <iframe src="" class="IframeMenuItem" scrolling="no"></iframe> 
           </div> 
          </li> 

因此,在這種情況下,當我去xyz.aspx我想改變「liConfiguration」的CSS來「active_butn」

我想寫的jQuery改變CSS的函數...我該怎麼做?

回答

2

雖然你問了一個jQuery代碼(並且有2個答案),但我認爲服務器代碼在這裏可能會更好。當您可能想要更改元素ID時更安全。

在主:

public void ChangeConfigurationElementClass(string className) 
{ 
    liConfiguration.Attributes["class"] = className; 
} 

在頁面:

var master = Master as MyMaster; 

if (master != null) 
    master.ChangeConfigurationElementClass("active_butn"); 
+0

我做到了這一點...一改。而不是在母版頁中編寫代碼,我把它寫在PageBase中,而且它也工作。 – user1181942

0
var $path = window.location.pathname; 

var $indexPath = function ($path) { 

      if ($path.indexOf('xyz') > -1) { 
       $('#liConfiguration').addClass("active_butn"); 
      } 
      else { 
       $('#liConfiguration').addClass("main_link"); 
      } 
} 

我希望這將是罰款,以增加新的類 $ indexPath($ PATH);

+0

你並不需要檢查網頁的網址。你只能把這個腳本放在xyz頁面中。 –

+0

是它的另一種選擇,但如果你把你的母版頁,你必須更好地解決問題 – Hakan