JQuery attr не работает Internet Explorer

0

У меня есть код ниже, который нажимает на изображение, скрывает 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>

ТКС

  • 0
    Какая версия jQuery, какая версия IE?
  • 1
    .attr ( "скрытый")? что именно это должно делать?

2 ответа

4
Лучший ответ

Используйте .hide() и toggle() чтобы изменить отображение элементов

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

Демо: скрипка

  • 0
    ... поскольку hidden атрибут не поддерживается IE10-. Кроме того, это технически не его цель.
1

Почему бы не изменить JS на:

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

Это не только упростит ваш код, но и будет использовать встроенную функцию jQuery для переключения видимости контента. Кстати, проблема была hidden ссылкой attr, это должно было быть .css('hidden',true) если вы хотите спуститься по этому маршруту...

Ещё вопросы

Сообщество Overcoder
Наверх
Меню