0

我的网站上有一组 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&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>
4

2 回答 2

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');
});
于 2012-08-24T11:02:01.863 回答
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 但生成的代码并不总是这样)

于 2012-08-24T11:10:09.610 回答