2013-02-22 66 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>