Jquery attr无法使用Internet Explorer

时间:2013-11-13 16:11:47

标签: javascript jquery html css

我有下面的代码点击图片隐藏了一个div。 效果很好,但在IE中不起作用......

为什么?

http://jsfiddle.net/mtsys/6qAfp/

代码:

$(document).ready(function () {       
    $('.fechar').click( function() { alert('testes'); $(".nav").attr("hidden",true); });
    $('.mais').click( function() {
        var status = $(".nav").attr("hidden");
        if (status)
        {
            $(".nav").attr("hidden",false);
        }
        else
        {
            $(".nav").attr("hidden",true);
        }
    });
});

HTML:

<div class="header">
    Estágio    
    <div class="mais"></div>
</div>
<div class ="parent">     
    <div class="content">        
        <div id="map_canvas" style="width: 100%; height: 100%;"></div>
    </div>
    <div class="nav"><div class="fechar"></div><div id="dadosDiv"></div></div>   
</div>

TKS

2 个答案:

答案 0 :(得分:4)

使用.hide()toggle()更改元素的显示

$('.fechar').click(function () {
    $(".nav").hide()
});
$('.mais').click(function () {
    $(".nav").toggle()
});

演示:Fiddle

答案 1 :(得分:1)

为什么不将你的JS改为:

    $('.fechar').click( function() { alert('testes'); $(".nav").hide(); });
    $('.mais').click( function() {
        $(".nav").toggle();
    });

这不仅可以简化您的代码,还可以利用jQuery的内置功能来切换内容可见性。顺便提一下,问题是hidden attr引用,如果您想沿着这条路走下去,那应该是.css('hidden',true) ...