我的网站上有一个Vimeo iframe数组,在刷新时,会从数组中随机调用。这些iframe中的每一个都有唯一的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&portrait=0&byline=0&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 :(得分: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');
});
答案 1 :(得分: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,但生成的代码并不总是如此)