2012-08-24 5 views
0

내 사이트에 Vimeo iframe 배열이 있습니다.이 배열은 새로 고침시 배열에서 임의로 호출됩니다. 각 iframe에는 고유 한 ID가 있습니다.ID가 있으면 앵커 태그를 찾아 클래스 추가

iframe은 어떤 iframe이 표시되어 있는지에 따라 ID를 인식하고 클래스를 메뉴 항목에 추가합니다.

지금까지 나는이 있습니다

$("#yuan-photofilm").find(".menu-nav li ul li a").addClass('active-vimeo'); 

내 생각이 #yuan-photofilm이 존재하는 경우, 그것은 .menu-nav li ul li a를 찾아 클래스 .active-vimeo를 추가거야 -하지만 작동하지 않는 것 같습니다.

아이디어가 있으십니까?

감사합니다, R 여기

는 HTML의 일부입니다

<div class="grid_7 suffix_5"> 
     <div class="video-container"> 
      <iframe id="jack-photofilm" src="http://player.vimeo.com/video/46822673?title=0&amp;portrait=0&amp;byline=0&amp;color=ffffff" width="650" height="366" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe> </div> 
</div> 
<div class="clear"></div> 
    <div class="grid_7"> 
     <ul class="menu-nav"> 
      <li class="current-menu-nav-item"><a href="index.php">Photofilms</a> 
       <ul> 
        <li><a href="#yuan" id="yuan">Yuan Shuai</a></li> 
        <li><a href="#nina" id="nina">Nina</a></li> 
        <li><a href="#zhuoer" id="zhuoer">Zhuoer</a></li> 
        <li><a href="#qingqing" id="qingqing">Uncle Douglas and Qingqing</a></li> 
        <li><a href="#jack" id="jack">Jack</a></li> 
       </ul> 
      </li> 
      <li><a href="still.php">Photographs</a></li> 
      <li class="sub-info-menu"><a href="information.php">Information</a></li> 
      <li><a href="http://blog.youziproject.com">Blog</a></li> 
     </ul> 
    </div> 
+0

실제로'# yuan-photofilm 안에 .menu-nav li ul li a'이 있습니까? '또는 HTML의 다른 곳입니까? – adeneo

+0

더 쉬운 방법이있을 수 있습니다. 좀 더 많은 코드를 게시 할 수 있습니까? – Alex

+0

문서의 HTML 구조를 보여 주실 수 있습니까? –

답변

1

각 요소는 ID를 갖고있는 것 같아요, 그냥 왜 대상으로하지?

if ($("#yuan-photofilm").length) { 
    $("#yuan").addClass('active-vimeo'); 
} 

이상의 동적 :

$('.menu-nav li ul li a').each(function(i,e) { 
    if ($('#'+e.id+'-photofilm').length) $(e).addClass('active-vimeo'); 
}); 
+0

더 역동적으로 만들 수 있습니까? 'if ($ ("# yuan-photofilm"). 길이) { \t $ (". 메뉴 탐색 li ul li a # 위안") addClass ('active-vimeo'); } if ($ ("# nina-photofilm"). 길이) { \t $ (". menu-nav li ul li a # nina") addClass ('active-vimeo'); } ($ ("# zhuoer-photofilm"). } if ($ ("# qingqing-photofilm"). 길이) { \t $ (". 메뉴 탐색 리 ul li a # qingqing").addClass ('active-vimeo'); } if ($ ("# jack-photofilm"). 길이) { \t $ (". menu-nav li ul li a # 잭") addClass ('active-vimeo'); }' –

+0

예, 두 번째 예제를 참조하십시오. 수행하려는 작업을 정확하게 수행해야합니다. – adeneo

0

나는 모두가 jQuery를 선택기의 요점 생각합니다. 그냥 사용 후 존재하지 않는

$("#yuan-photofilm .menu-nav li ul li a").addClass('active-vimeo'); 

#yuan-photofilm 경우 선택이 실패하고 클래스가 추가되지 않습니다. 이

편집을 할 http://jsfiddle.net/LtwW5/

에서 볼 수있는 당신이 중 하나로 변경할 수 있습니다 HTML을 본 데 : 당신이 구조 할 방법을 엄격한에

$("#yuan-photofilm").addClass('active-vimeo'); 
$(".menu-nav li ul li a#yuan-photofilm").addClass('active-vimeo'); 

따라 (예를 들어, 경우 #yuan-photofilm 다른 곳에서 발생합니다. 두 번째 코드를 사용하기 때문에 코드가 생성 된 것은 아니기 때문에 항상 id가 아니어야합니다.

관련 문제