2012-08-24 42 views
0

我有我的网站上的Vimeo iframe数组,刷新时,从数组中随机调用。每个这些iframe都有唯一的ID。如果ID存在,找到锚标记并添加类

我所追求的是取决于哪个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

'.menu-nav li ul li'实际上'#元 - photofilm '或者它在你的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

我可以让这更具活力吗?如果($(“#yuan-photofilm”).length){0121} ('。nina-photofilm')。length){ } if($(“#nina-photofilm”)。)。addClass('active-vimeo'); ('.zhuoer-photofilm')。length){(“。menu-nav li ul li a#zhuoer”)。addClass('active-vimeo'); (“#qingqing-photofilm”)length){ } ifaddClass( '有源VIMEO'); ('('#jack-photofilm')。length){ } if($(“#jack-photofilm”)。 }' –

+0

是的,看第二个例子,它应该完成你想要做的事情。 – adeneo

0

我想每个人都缺少jQuery选择点。只需使用:

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

如果#yuan-photofilm不存在,则选择将失败,类不会被添加。这可以在http://jsfiddle.net/LtwW5/

EDITED

可以看到在看到你的HTML,你可以将其更改为以下任一:

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

取决于你想要如何严格为与结构(例如,如果#yuan-photofilm发生在其他地方使用第二个,它不应该,因为它是一个ID,但这并不总是与生成的代码的情况下)