jquery iframe css firefox 错误?

标签 jquery css firefox iframe

在不详细说明这些方法的作用的情况下,谁能告诉我为什么我会得到这些奇怪的结果?

getCurrentIframe().findInIframe("h2").css("paddingLeft") // gives me "20px"

如果我使用 .get(0) 或 [0] 来获取 dom 元素,然后将其重新包装在 $ 中,我会得到什么:

$( getCurrentIframe().findInIframe("h2")[0]).css("paddingLeft") //it gives me "0px"

当我执行 .each 时,$(this).css("paddingLeft")(在每个循环内)也给我 0px。

当我使用这个(从父窗口)时,我在 paddingLeft 上也得到了不同的结果: iframe.contentWindow.$(selector).css("paddingLeft")//给我 20pxiframe.contents().find(selector).css("paddingLeft")//给我0px

似乎 firefox 无法在元素的 iframe 中找到正确的 css,除非它具有内联样式设置。 (例如:如果 body 在 css 中有 font-size:18,但元素 css 有 font-size:40px,它将返回 18px)

目瞪口呆

添加:

  getCurrentIframe().findInIframe("h2").each(function() { console.log($(this).css("paddingLeft")) }).css("paddingLeft") 

这在 firefox 0px 20px 中打印出来。如何在 chrome 中打印出 20px 20px

最佳答案

我没有答案,但我刚刚遇到了一个与 Galleryview 插件 ( http://spaceforaname.com/galleryview ) 非常相似的问题,当以下返回“未定义”时该问题失败了:

j_panels.css('paddingLeft')

这一次 IE 做了正确的事情,而 FF 失败了! :-( 不管怎样,你在这里的帖子让我省了一些脑筋急转弯:将“padding: 0px”直接添加到有问题的 div 解决了这个问题。

而且,是的,这是在一个 iframe 中——实际上是一个灯箱。有趣的是,我从未注意到 Colorbox 有任何问题,但我们今天切换到 Fancybox 并开始发现 Galleryview 存在问题。

关于jquery iframe css firefox 错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1683191/

相关文章:

javascript - JS "click"事件仅有效一次

css - 整图鼠标悬停效果

html - css 在 firefox 中不起作用,但在所有其他浏览器中都可以

javascript - Jquery + css 转换仅在 console.log(...css ("left")); 时正常工作叫做

jquery - 网站中的导航动画

html - 如何在 CSS 中设置颜色的百分比?

ios - Bootstrap 字体似乎在 Safari iOS 上被条纹化

javascript - 我的按键捕获脚本在 Firefox 中无法运行,为什么?

javascript - 如何使用左/上重新定位相对DIV?

html - 包含多个 div 标签?