2015-11-12 147 views
1

我無法讓這段代碼在Internet Explorer 11上工作。我知道這個段引發了這個問題。如果我使用此代碼上傳我的文件,則IE 11會將我網站的所有部分完全空白。沒有它,它會顯示在我的網站上的信息,但它顯然不起作用。IE 11 addClass + removeClass

我查到了http://caniuse.com/上的各種功能,根據它,只有部分支持removeClass和addClass,這可能是問題所在。有沒有某種插件或不同的命令,使其與IE 11兼容?

$(window).on('hashchange', function() { 
    var ImageContainer = $('.tabs > div'), 
    hash = window.location.hash !== '' ? window.location.hash: '#about'; 

    console.log(hash); 

    ImageContainer.hide(); 
    ImageContainer.filter(hash).show(); 
    $('<img/>').removeClass('selected'); 
    $('a[href="' + hash + '"]', '.ImageContainer').addClass('selected'); 
}).trigger('hashchange'); 

編輯 - MARKUP

<div class="tabs"> 

<div id="about">  
<h3>Headline</h3> 
<p>Body Text</p> 
</div> 

<div id="first"> 
<h3>Different Headline</h3> 
<p>Different Body Copy</p> 
</div> 

</div> 

<div id="owl-demo" class="owl-carousel owl-theme"> 

<div class="ImageContainer"> 
    <div id="Color"> 
    <h2>Headline</h2> 
</div> 

<div class="photo grow"> 
    <a href="#first" id="1">  
    <img src="" /> 
    </a> 
    </div> 

<div class="ImageFooter" id="Purple"> 
    <p class="ImageContainerP">Below Text</p> 
    </div> 
    </div> 

</div> 
+0

http://caniuse.com並未提供有關瀏覽器支持jQuery的信息,可以在[jQuery](https://jquery.com/browser-support/) –

+0

找到「我已查找過各種http://caniuse.com/_上的jquery命令「Oo-jQuery方法不是網站的一部分,因爲該網站只列出本地功能。 – Andreas

+0

@GeorgeLee感謝您的指導。我會研究這一點。 –

回答

1

的問題是在IE如何對待哈希值。它不像其他瀏覽器那樣默認爲空字符串,它默認爲'#'。而不是設置散列,你應該在IE中設置可靠性的位置。

hash = window.location.hash !== '' ? window.location.hash: '#about'; 

成爲

hash = window.location.hash; 
if (hash !== '' || hash !== '#') { 
    hash = '#about'; 
    window.location = hash; 
} 

的標記沒有被渲染,因爲它沒有重新上項的哈希,並給予一個錯誤消息「#」是不是過濾器的有效選擇。

+0

你是救命恩人!非常感謝! –

2

你應該用正確的選擇:

對於這個HTML:

<div class="ImageContainer"> 
    <a href="#1234"><img class="selected" src="" /></a> 
</div> 

JS:

$('img').removeClass('selected'); 
$('a[href="#1234"]', '.ImageContainer').addClass('selected'); 

OUTPUT:

<div class="ImageContainer"> 
    <a href="#1234" class="selected"><img src="" class=""></a> 
</div> 

在測試了IE 11和FF 42:

的jsfiddle:http://jsfiddle.net/ghorg12110/h1xtty4n/

+0

感謝您的幫助。不幸的是,這並沒有解決我的問題,但有助於縮小搜索範圍。我的問題可能隱藏在CSS或源代碼的某處。這在我自己的小提琴中適用於我:http://jsfiddle.net/cef1ydna/再次感謝! –