addClass removeClass не работает для Internet Explorer

Кто-нибудь знает, почему это не сработает в ie? кажется, не работает на всех версиях IE, не знаю, почему. В каждом браузере, кроме IE, он находит изображение и удаляет класс скрытия и добавляет класс показа.

onClickMakeActive("acousticCompression");
onClickMakeActive("Chiropractor");
onClickMakeActive("healthCoaching");
onClickMakeActive("oneOnOne");

function onClickMakeActive(className){  
    $("li."+className+"").click(function(){
        var defaultDescription = $(".defaultDescription");
        if(!defaultDescription.hasClass("hide")){
            defaultDescription.addClass("hide");
        }
        var myThis = $(this);
        makeActive(myThis, className);
        $(".DONTHIDE").show();
    });
}
function makeActive(myThis, className){
    myThis.siblings().removeClass("active");
    myThis.addClass("active");
    myThis.siblings().find(".pointer").removeClass("show").addClass("hide");
    myThis.find(".pointer").removeClass("hide").addClass("show");

    var itemsToToggle = "."+className+"Toggle";
    $(itemsToToggle).siblings().not(".dontHide").removeClass("show").addClass("hide");
    $(itemsToToggle).removeClass("hide").addClass("show");

}

вот HTML на всякий случай

<div class="clearfix typeWrapper">
    <ul class="serviceType dontHide">
        <li class="acousticCompression"><a class="acousticCompression servicesTypes">Acoustic Compression</a><span class="pointer hide"></span></li>
        <li class="healthCoaching"><a class="healthCoaching servicesTypes">Health Coaching</a><span class="pointer hide"></span></li>
        <li class="Chiropractor"><a class=" servicesTypes">Chiropractic Care</a><span class="pointer hide"></span></li>
        <li class="oneOnOne"><a class="oneOnOne servicesTypes">Comprehensive Holistic Care</a><span class="pointer hide"></span></li>
    </ul>

    <p class="defaultDescription">carefully selected and extensively trained a team of providers, who are all available to serve you either through his direction or as your direct provider</p>
    <img class="managedHolisticCareToggle serviceTypeImage hide" src="[@RelImageRoot]/PatientIntakeForm/managedHolisticCare.jpg" alt="managed Holistic Care" width="" height="" />
    <img class="acousticCompressionToggle serviceTypeImage hide" src="[@RelImageRoot]/PatientIntakeForm/acousticCompression.jpg" alt="acoustic Compression" width="" height="" />
    <img class="ChiropractorToggle serviceTypeImage hide" src="[@RelImageRoot]/PatientIntakeForm/Chiropractor.jpg" alt="Chiropractor" width="" height="" />
    <img class="healthCoachingToggle serviceTypeImage hide" src="[@RelImageRoot]/PatientIntakeForm/healthCoaching.jpg" alt="health Coaching" width="" height="" />
    <img class="oneOnOneToggle serviceTypeImage hide" src="[@RelImageRoot]/PatientIntakeForm/one-on-one.jpg" alt="one-on-one" width="" height="" />
</div>

Я не вижу никаких ошибок, поэтому я немного смущен.

ссылка на рассматриваемую страницу https://beta.teammotio.com/drdenboer/Patient_Intake


person lukasz    schedule 30.08.2013    source источник
comment
Кажется, работает нормально для меня. Конечно, я только что написал быстрый пример и протестировал его в IE9, а не в вашем коде, но, насколько я вижу, работает нормально.   -  person SpYk3HH    schedule 31.08.2013
comment
@ user2675751 изменение имени переменной не повлияет на код.   -  person Neil S    schedule 31.08.2013
comment
Какую версию jQuery вы используете?   -  person Rubens Mariuzzo    schedule 31.08.2013
comment
не работает. ссылка здесь, если вам нужен контекст beta.teammotio.com/drdenboer/Patient_Intake   -  person lukasz    schedule 31.08.2013
comment
к вашему сведению, if(!defaultDescription.hasClass("hide")){ не нужно.   -  person Kevin B    schedule 31.08.2013
comment
Это творческий подход к делу? Я бы сделал это сам -› jsfiddle.net/qxSEf/2 , но кого это волнует ?   -  person adeneo    schedule 31.08.2013
comment
спасибо, Кевин, я добавил это, думая, что это могло быть частью проблемы. Ясно, что нет :/   -  person lukasz    schedule 31.08.2013
comment
В сценарии нет ничего очевидного, и вы сказали, что ошибок нет, так что это может быть проблема с порядком, в котором правила css появляются в таблице стилей.   -  person CodeOwl    schedule 31.08.2013
comment
Иногда класс не отображается в ObjectInspector-F12, но при запуске: alert( $('#elm').attr('class') ); это шоу   -  person user956584    schedule 05.08.2014


Ответы (2)


Глядя на ваш сайт, похоже, что проблема не в том, что ваш код не работает, а в размере изображения. Ваши 5 изображений имеют ширину = "1" и высоту "1" в IE, поэтому я думаю, что есть какой-то другой код, изменяющий его.

<img width="1" height="1" class="managedHolisticCareToggle serviceTypeImage hide" alt="managed Holistic Care" src="/drdenboer/userfiles/image//PatientIntakeForm/managedHolisticCare.jpg">

<img width="1" height="1" class="oneOnOneToggle serviceTypeImage show" alt="one-on-one" src="/drdenboer/userfiles/image//PatientIntakeForm/one-on-one.jpg">
person simdrouin    schedule 30.08.2013

Первое, что приходит мне в голову, это изменить

$(".DONTHIDE").show();

to

$(".dontHide").show();

Они не должны быть чувствительны к регистру, но...

person Grzegorz    schedule 30.08.2013