2010-07-21 49 views
0

我在我的网站有一个背景图片,但是当我打开一个fancybox时,该背景图片也会出现在fancybox的正文中。有没有办法在iframe中获取body元素,以便我可以将id应用于它?更改fancybox正文ID负载

我尝试这样做:

$("#appointment-form").fancybox({ 
     'width'  : 500, 
     'height' : 300, 
     'transitionIn' : 'fade', 
     'transitionOut' : 'fade', 
     'type'  : 'iframe', 
     'onComplete' : function() { 
          $('body').attr('id', 'fancybox_body'); 
          } 
}); 

但它改变了主页面的ID。

谢谢!

回答

2

你需要得到在<body>的内的方式略有不同,像这样:

$('#fancybox-frame').contents().find('body').attr('id', 'fancybox_body'); 

您需要首先得到的fancybox与#ID selector使用,然后做一个.find()上它的.contents()来获取元素。

+0

谢谢,尼克!我尝试了它,但它已经在typo3中找到了更“原生”的解决方案。再次感谢! – cili 2010-07-23 10:29:09

+0

@cili - 欢迎:)请务必接受答案或发布你做的答案(你可以在* 2天后接受* *),这将有助于下一个人出现同样的问题,Google和发现你的问题:) – 2010-07-23 10:48:22

0

它改变因为

$('body').attr('id', 'fancybox_body'); 
+0

你在说什么?我不明白。 – 2010-07-21 07:58:39

+0

他的问题是主页上的id变化,原因是因为上面的代码。 – X10nD 2010-07-21 08:14:02

0

的ID为什么你需要改变车身的ID摆在首位?

最好给主body a class就像说,page。仅将背景图像应用于该类的身体。

body.page 
{ 
    background-image: url(.....) 
} 
+0

这就是我想要做的。困难的部分是添加一个id(或类)。我正在写一个typo3网站,我用这个打字稿管理了这个。谢谢! – cili 2010-07-23 10:28:27