我有一个叠加页面,我有一个父div和这样的子div
<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>
我的目标是一次显示一个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();
}
请帮我解决这个问题。
答案 0 :(得分: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');
});
});