使用Firefox的jQuery hide()问题

时间:2013-09-24 17:29:18

标签: javascript jquery html

我在我正在制作的网页上遇到hide()功能问题。目前,选定的div图层未隐藏。

在Safari和Chrome中一切正常,但遗憾的是在Firefox中没有: - (

页面在上下文中:http://www.upreach.org.uk/undergraduates/partners.php这里是我的代码:

$(document).ready(function(){
        $('div.partner-employers').not('div#start').hide();
        $("a.employers").click(function(){
            $("a.employers").css("font-weight", "normal");
            $(this).css("font-weight", "bold");
            var myelement2 = $(this).attr("href")
            $(myelement2).fadeIn("fast");
            event.preventDefault();
            $(".partner-employers:visible").not(myelement2).hide();
        });
}); 

...和HTML:

<a href="#1" class="employers">1</a><br/>
<a href="#2" class="employers">2</a><br/>
<a href="#3" class="employers">3</a><br/>

<div class="partner-employers" id="1">Content for 1</div>
<div class="partner-employers" id="2">Content for 2</div>
<div class="partner-employers" id="3">Content for 3</div>

提前感谢您提供任何帮助......

3 个答案:

答案 0 :(得分:5)

您正在使用未定义的event变量,因此代码在最后一行执行之前崩溃。在IE中,这是在window对象中定义的,但在大多数其他浏览器中没有定义。

在函数签名中定义event参数:

$("a.employers").click(function(event){

答案 1 :(得分:0)

我会这样做:

$('.partner-employers').hide();
$(myelement2).fadeIn("fast");

答案 2 :(得分:0)

更改此$(".partner-employers:visible").not(myelement2).hide();

进入此$(".partner-employers:visible").not("#"+myelement2).hide();