1

このような親divと子divが1つあるオーバーレイページがあります

<div id="completeBlock" style="display:block">
    <div id="id1" style="display:block">
       This is div one
    </div>
    <div id="id2" style="display:none">
       This is div two
    </div>
        <div id="id3" style="display:none">
       This is div three
    </div>
</div>

divを表示するための個別のリンク

<a onclick=doChangeDiv(id1)>link one</a>
<a onclick=doChangeDiv(id2)>link two</a>
<a onclick=doChangeDiv(id3)>link three</a>

私の目的は、一度に1つのdivを表示し、他のdivは表示しないことです。すべてのブラウザで正常に機能しますが、Firefoxでは、ページを初めて開いたときに機能します。ページを閉じて再度開くと、非表示のdivは機能しません。表示されるようになり、「TypeError:デッドオブジェクトにアクセスできません」というエラーが発生しました

私のjqueryスクリプトは

function doChangeDiv(fromId){
$('#completeBlock').children().each(function() {
        if($(this).css('display') != 'none')
        {
            var hideId = '#'+$(this).attr('id');
            $(hideId).hide();
        }
   });
   $(fromId).attr('display','block');
   $(fromId).show();
}

この問題を解決するのを手伝ってください。

4

1 に答える 1

0

これを参照してください:http://jsfiddle.net/uD9mU/1/

$(document).ready(function () {

$('a').click(function (e) {
    e.preventDefault();
    var fromId = $(this).attr("data");
    //alert(fromId);
    $('#completeBlock').children().hide().filter('#'+fromId).fadeIn('slow');
});

});
于 2013-01-21T13:18:17.563 に答える