2012-07-07 68 views
0

HTML代碼jQuery的選擇下一個IFRAME

<div style="width: 1000px;margin: auto" class="cf"> 
<div class="bo" data-href="../../link1">click</div> 
<div class="bo" data-href="../../link2">click 2</div> 
<div class="bo" data-href="../../link3">click 3</div> 
<iframe class='iframe hd' scrolling='no' frameborder='0'></iframe> 

<div class="bo" data-href="../../link1">click</div> 
<div class="bo" data-href="../../link2">click 2</div> 
<div class="bo" data-href="../../link3">click 3</div> 
<iframe class='iframe hd' scrolling='no' frameborder='0'></iframe> 

<div class="bo" data-href="../../link1">click</div> 
<div class="bo" data-href="../../link2">click 2</div> 
<iframe class='iframe hd' scrolling='no' frameborder='0'></iframe> 

我嘗試當我在任何的div點擊,接下來的IFRAME刪除HD級 僅僅只爲這個特定的div我點擊它的下一個IFRAME

我測試過這個選擇

$(".iframe:first")

不工作

感謝名單

回答

1

試試這個 - http://jsfiddle.net/aa8yK/

$("div").on("click", function() { 
    var iframes = $(this).nextAll("iframe"); 
    iframes.eq(0).removeClass("hd"); 
});​ 
+0

:) – Utkanos 2012-07-07 10:06:09

0

這裏的竅門是,以確保只有下一個iframe的選擇,不是所有的兄弟姐妹IFRAME(後者將是簡單 - 你可以只使用nextAll())。

試試這個

$('div').on('click', function() {    
    $(this).next('iframe').add($(this).nextUntil('iframe').next()).removeClass('hd'); 
}); 

[編輯] - 一個更簡單的方法,並在@佐爾坦的答案的變化,只會比我的解決方案清潔

$(this).nextAll('iframe:eq(0)').removeClass('hd');