2012-08-06 6 views
3

내가 원하는 것은 특정 URL을 가진 특정 요소에 클래스를 추가하는 것이다. 그러나 나는 그것이 작동하도록 할 수 없습니다.클래스에 다른 속성을 더하기 위해 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");