1

このページのタブを作成するために jQuery を使用しています: http://johandahl.com/wp/malmocityfastigheter/ekonomi/

ただし、Internet Explorer 6-7 では機能しません。タブ付きの領域は隠れず、互いに重なり合っています。ここで何が間違っているのでしょうか?

これは私のjQueryコードがどのように見えるかです:

/* TABS */
jQuery(document).ready(function($){

$('ul.tabs').each(function(){
// For each set of tabs, we want to keep track of
// which tab is active and it's associated content
var $active, $content, $links = $(this).find('a');

// Use the first link as the initial active tab
$active = $links.first().addClass('active');
$content = $($active.attr('href'));

// Hide the remaining content
$links.not(':first').each(function () {
$($(this).attr('href')).hide();
});

// Bind the click event handler
$(this).on('click', 'a', function(e){
// Make the old tab inactive.
$active.removeClass('active');
$content.hide();

// Update the variables with the new link and content
$active = $(this);
$content = $($(this).attr('href'));

// Make the tab active.
$active.addClass('active');
$content.show();

// Prevent the anchor's default click action
e.preventDefault();
});
});
});

このための html のサンプルを次に示します。

            <ul class='tabs'>
                <li><a href='#beskrivning'>Om adressen</a></li>             
                <li><a href='#aktuellt'>Aktuell information</a></li>
            </ul>

        <div class="entry-about">           
            <div id='beskrivning'>

            </div>


            <div id='aktuellt'>

            </div>


        </div>

たとえば、IE と Chrome を比較すると、Chrome では「display: block;」と「display: none;」のインライン スタイルが使用されていることがわかります。" がタブ領域に正しく追加されます。しかし、IE 開発者ツールでは、そのようなスタイルは追加されませんが、jQuery にもエラーはありません。アイデア?????

4

1 に答える 1

0

何が悪かったのかわかりました。誰かが興味を持っているなら、それはmodernizr.jsとのある種の衝突でした。私のページはmodernizrなしで正しくレンダリングされるように見えるので、削除します。

于 2012-05-22T12:03:40.523 に答える