Jquery .show()不能在firefox中工作

前端之家收集整理的这篇文章主要介绍了Jquery .show()不能在firefox中工作前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在firefox中的 jquery show函数有一个问题.

情况:
我在一个弹出窗口(fancybox)中加载了一个aspx页面的iframe.在那个aspx页面中,我有一个带有onclick事件的按钮,它调用一个自定义函数,在该函数中它会在div上触发.show()函数.这个div有一个样式元素,它包含:display:none ;.

这可以在IE,safari,chrome.这甚至在Firefox加载aspx页面时也可以工作.它在fancybox-iframe弹出窗口中的firefox中不起作用.我没有javascript错误.即使显示:none也不会从style属性删除,但是div不会显示出来.

页面的html

<div class="popupWrapper">
  ..some elements
  <div id="psharebutton" style="display:none;"> 
   ..content of the div
  </div>
</div>

JavaScript代码

function dolinkedin(url,title,summary,source) {
        $(".smbutton").addClass("buttonDisabled");
        $("#linklinkedin").removeClass("buttonDisabled");
        $("#psharebutton").show();

        parent.sizefancybox();
    }

触发弹出窗口的按钮是一个锚,它有fancyboxiframe类. fancybox自动生成显示弹出窗口的js代码.

我已经检查了这些主题

> Jquery Hide/Show not working in Firefox Only?
> Jquery hide/show not working in Firefox/Chrome
> Jquery .show() and .hide() or even .css({“display”:”none”}); not working in firefox?

我已经检查过我的html是否有效.

任何想法?

BHD

解决方法

我有一个类似的问题,我的解决办法是做
$("#psharebutton").css("display","inline-block");

代替

$("#psharebutton").show();

jquery“show”与将显示样式属性设置为“block”相同.我发现我需要“inline-block”为Firefox和chrome(我不需要这个为IE).我相信(但还没有确认),jquery足够聪明才能知道以前的显示值是什么,并使用它,但在我的情况下,我开始显示设置为“none”,所以没有以前的值.

猜你在找的jQuery相关文章