2013-02-22 70 views
1

我試圖訪問與Fancybox加載的DOM內容中的元素,但它是不可能的。如何在Fancybox內容上操作DOM?

這裏我的代碼示例:

<div id="content"><!-- content of my FancyBox !--> 
    blabla 
    <div class="myelement">blabla hiding</div> 
</div> 
<script type="text/javascript"> 
$.fancybox({ 
content : $('#content').html(), 
afterLoad: function(){ 
    //do something with the element 
    $('.myelement').hide(); 

} 
); 
</script> 

沒有發生在我的fancybox的內容(元素不隱藏)。

謝謝大家。

+0

哪些錯誤返回? – 2013-02-22 14:48:35

+0

我沒有錯誤,但沒有發生......因爲fancybox加載和**創建** div#內容的重複內容。 – 2013-02-22 15:00:59

+0

你想用fancybox什麼?因爲你的代碼是沒有意義的 – 2013-02-22 15:05:37

回答

1

我修正了錯誤!

如果我想操作DOM內容動態地添加了fancybox,我必須使用回調「afterShow」:

<script type="text/javascript"> 
$.fancybox({ 
content : $('#content').html(), 
afterShow: function(){ //<====== FIX THE BUG !!!!!!!!!!!!!!!!!!!!! 
    //do something with the element 
    $('.myelement').hide(); 

} 
); 
</script>