我有以下html:
<ul class="scr">
<li class="scr">
<input type="checkbox" class="chkscr"/>
<h3>Item Name</h3>
<div class="scr">Contents</div>
</li>
....
</ul>
以及以下jQuery:
//Set initial state of each scr section
$('.chkscr input, input.chkscr').each(function() {
chkSCR_Click($(this));
});
//Setup click event
$('.chkscr input, input.chkscr').click(function() {
chkSCR_Click($(this));
});
//Toggle corresponding scr section for the checkbox
function chkSCR_Click(ctl) {
if (ctl.attr('checked')) {
ctl.parents('li.scr').find('div.scr').stop().show();
}
else {
ctl.parents('li.scr').find('div.scr').stop().hide();
}
}
我的问题是,当我切换最后一个li元素以显示时,h3元素的内容会消失,直到我单击页面上的其他地方,或者上下滚动页面以使浏览重新绘制窗口的该部分。例如,我在Opera中不了解这种行为,即使在IE中,这种行为也只发生在最后一个li元素上,所以我很确定这是IE的一个怪癖,而不是我的代码。我可以通过jquery/javascript来强制它重新绘制h3元素吗?