2012-08-06 47 views
3

我想要做的是添加一個類到特定的元素與特定的網址。但我似乎無法讓它工作。使用JQuery Selector爲類加上另一個屬性

這就是我所擁有的。

var pageName = window.location.pathname 
    pageName = pageName.replace("/", ""); 

$("div.mainleftmenu a.rtsLink.rtsRoot[href=pageName]").addclass("rtsSelected"); 

如果它有幫助a.rtsLink.rtsRoot是層次結構的幾個步驟。如果這看起來很簡單,我對jQuery很陌生,所以很抱歉。

感謝任何幫助。

感謝您的快速響應,但我仍然收到錯誤。 TypeError:Object [object Object]沒有方法'addclass'[http:// XXXXXXX/training-events:69]

下面是我嘗試遍歷的標記示例。 (這是自動生成的,所以修改html不是一個選項。)

<div class="mainleftmenu">      
    <div id="mainleftmenu_T76A8AA8B013"> 
     <div id="ctl00_mainleftmenu_T76A8AA8B013_ctl00_ctl00_siteMapControl_verticalsimple" 
     class="RadTabStripVertical RadTabStrip_mainleftmenu RadTabStripLeft_mainleftmenu"> 
      <div class="rtsLevel rtsLevel1"> 
       <ul class="rtsUL"> 
        <li class="rtsLI rtsFirst"> 
         <a class="rtsLink rtsRoot" href="products"> 
          <span class="rtsOut"> 
           <span class="rtsIn"> 
            <span class="rtsTxt">Products</span> 
           </span> 
          </span> 
         </a> 
        </li> 
        <li class="rtsLI"> 
         <a class="rtsLink" href="products/heavybid"> 
          <span class="rtsOut"> 
           <span class="rtsIn"> 
            <span class="rtsTxt">HeavyBid</span> 
           </span> 
          </span> 
         </a> 
        </li> 
       </ul> 
      </div> 
     </div> 
    </div> 
</div> 

再次感謝。

回答

3

你應該將變量傳遞到選擇,目前要傳遞的字符串:

$("div.mainleftmenu a.rtsLink.rtsRoot[href='"+pageName+"']").addClass("rtsSelected"); 

同時請注意,你已經寫addclass這應該是addClass

1

這應該讓這個你不使用字符串pageName,但您使用的pageName值:

$("div.mainleftmenu a.rtsLink.rtsRoot[href='"+pageName+"']") 
               .addClass("rtsSelected"); 
相關問題